Tarih ve Saat Fonksiyonları
Visual Basic.NET de , tarihi saati , hangi gün veya hangi ayda olduğumuzu öğrenmek için bu fonksiyonları kullanırız.
1. Now()
Bu fonksiyon , şu anki tarih saat bilgisini verir.
Tabiki tüm tarih saat fonksiyonları sistem saatini kullandığı için , bilgisayarınızda o an hangi tarih saat geçerli ise , o değeri döndürecektir.
Örnekler :
Msgbox(Now())
Label1.Text = Now()
2. Day(deger)
Bu fonksiyon deger olarak belirtilen tarihin gününü döndürür. Deger olarak belirtilen değişken geçerli bir
tarih olmalıdır.
Örnekler :
Day(12.10.2006) = dönen değer 12 olacaktır.
Day(Now()) = bugünün gün değeri dönecektir.
3. Weekday(date[, firstdayofweek])
Bu fonksiyon date değişkeni ile belirtilen tarihin ,haftanın kaçıncı günü olduğu değerini döndürür. İkince değişken ise isteğe bağlı olup haftanın ilk gününü
ayarlamak için kullanılır. İngilizce işletim sistemine sahip bir bilgisayarda haftanın ilk günü Pazar olacaktır
ama Türkçe işletim sistemine ait bir bilgisayarda haftanın ilk günü pazartesi olacaktır.
Bu fonksiyon haftanın günlerini 1 den 7 ye kadar numaralandırarak seçili olan günü geri döndürür.
Pazartesi 1 , Salı 2 , Çarşamba 3 ….. şeklinde devam etmektedir.
Örnekler :
MsgBox(Weekday(Now, FirstDayOfWeek.System)) = burada
bugün Cuma olduğu için 5 değeri dönecektir. Haftanın ilk günü ayarını ise işletim sistemine bıraktım.
4. WeekdayName(weekday[, abbreviate[, firstdayofweek]])
Bu fonksiyon , weekday değişkeni ile belirtilen günün ismini döndürür. Abbreviate değişkeni ilede , gün
isminin kısamı uzunmu gösterileceği ayarlanır. ( Paz,
Pzt , Salı , Cuma gibi ) . Üçüncü değişken diğer fonksiyonda olduğu gibi haftanın ilk gününü ayarlamak için kullanılmaktadır.
Örnekler :
MsgBox(WeekdayName(5, False, FirstDayOfWeek.System)) =
Dönen değer -> Cuma
MsgBox(WeekdayName(5, True, FirstDayOfWeek.System)) =
Dönen değer -> Cum
5. Month(date)
Bu fonksiyon date değişkeni ile belirtilen tarihin ,yılın kaçıncı ayı olduğu değerini döndürür. Ocak = 1 ,
Şubat = 2 , Mart = 3 şeklinde , 1 den 12 ‘ye kadar integer değer döndürür.
Örnekler :
Month(Now()) = Dönen değer = 7 olacaktır. Temmuz yılın 7 nci ayıdır.
6. MonthName(month[, abbreviate])
Bu fonksiyon ile month ile belirtilen ( 1 den 12 ye kadar ay numaraları ) ayın ismini döndürür. İkinci değişken isteğe bağlı olup , dönen ay adının uzunmu yoksa kısamı olacağını ayarlamaya yarar.
Örnekler :
Msgbox(MonthName(7)) = Dönen değer Temmuz olacaktır.
7. Year(date)
Bu fonksiyon , date değişkeni ile belirtilen tarihin yıl değerini döndürür.
Örnekler :
Msgbox(Year(Now()) = dönen değer 2006 olacaktır.
8. Hour(time)
Bu fonksiyon ile , time değişkeni ile belirtilen zamanın saat değer 0 dan 24 ‘e kadar olan integer türünden bir değer döndürür.
Örnekler :
Now() = fonksiyonu 14.07.2006 11:28:30 değerinin döndürürken Hour(Now()) fonksiyonu = 11 değerini döndürür
9. Minute(time)
Bu fonksiyon ile , time değişkeni ile belirtilen zamanın
dakika değeri , 0 dan 60 a kadar olan integer türünden bir değer döndürür.
Örnekler :
Now() = fonksiyonu 14.07.2006 11:28:30 değerinin döndürürken Minute(Now()) fonksiyonu = 28 değerini döndürür
10. Second(time)
Bu fonksiyon ile , time değişkeni ile belirtilen zamanın saniye değeri , 0 dan 60 a kadar olan integer türünden bir değer döndürür.
Örnekler :
Now() = fonksiyonu 14.07.2006 11:28:30 değerinin döndürürken second(Now()) fonksiyonu = 30 değerini döndürür
11. DateSerial(year, month, day)
Bu fonksiyon dışarında 3 değişken ile integer türünden bir veri almakta ve girilen sayıları tarih olarak geri
döndürmektedir.
MsgBox(DateSerial(2005, 7, 1)) şeklinde bir fonksiyon 01.07.2005 olarak geri dönecektir.
Bu fonksiyonun kullanım yeri sadece bunula sınırlı değildir. Herhangi bir yılın 90 ncı günü, hangi tarihe geliyor diye merak ediyorsanız yapmanız gereken tek şey
aşağıdaki gibi bir fonksiyon kurmak ;
DateSerial(1996, 1, 90)
1996 yılının 90 ncı günü nedir gibi bir fonksiyonun dönen değeri = 30.03.1996 olacaktır.
Bir başka kullanım şeklide; mesela bugünden sonra 1000 nci gün hangi tarihe gelir gibi bir soruya cevabı aşağıdaki fonksiyon verecektir;
MsgBox(DateSerial(Year(Now. Date), Month(Now. Date),Weekday(Now. Date) + 1000))
Eğer bugünü 14.07.2006 olarak kabul edersek dönen değer = 01.04.2009 olacaktır.
Aynı şekilde yıl, ay içinde toplama ve çıkartma işlemlerini kullanarak, istediğimiz bir tarihi bulabiliriz.
12. DateValue(date)
Bu fonksiyon string olarak girilen tarih değerini normal tarihe çevirir.
Örnekler;
DateValue(“12 Kasım 2007” ) fonksiyonu 12.10.2007 olarak
geri dönecektir.
Bu fonksiyonun güzel bir özelliğide, iki tarih arasında kaç gün olduğunu öğrenmek içinde kullanılabilir.
Finansal programlar için DateSerial kadar iyi bir fonksiyondur.
MsgBox(DateDiff(DateInterval. Day,
DateValue(“25.12.1993”), DateValue(“25.12.1996”)))
Bu şekilde kullanılan bir fonksiyon ile 25.12.1993 ve
25.12.1996 tarihleri arasında kaç gün olduğunu öğrenebiliriz. Dönen değer 1096 gün olacaktır.
13. TimeSerial(hours, minutes, seconds)
Bu fonksiyon DateSerial fonksiyonu gibi çalışmakta ,yalnız tek farkı tarih üzerinde değil , zaman üzerinde çalışmasıdır. Dışarıdan girilen 3 değişkeni zaman olarak
geri döndürür.
TimeSerial(4, 10, 55) = dönen değer = 04:10:55
oalcaktır.
Yine Dateserial fonksiyonunda olduğu gibi , saat dakika ve saniyede çıkartma toplama gibi işlemler yaparak ,istediğimiz bir saati bulmamız mümkündür
TimeSerial(16 - 2, 13 - 15, 40 - 32) = dönen değer 13:58:08 olacaktır.
14. TimeValue(time)
Bu fonksiyonda DateValue() fonksiyonu ile aynı özelliklere sahiptir.
15. DateAdd(interval, number, date)
Bu fonksiyon, interval değişkeni ile belirtilen tarihe,number değişkeni ile belirtilen değeri ekler. İnterval değişkenin alabileceği değerler şunlardır;
Year
Quarter
Month
DayOfYear
Day
WeekDay
WeekOfYear
Hour
Minute
Second
DateAdd(DateInterval.Month, 1, Now)= bu fonksiyon ile ,bir sonraki ay değeri dönecektir. 14.08.2006 11:20:00
şeklinde değer dönecektir.
16. DateDiff(interval, date1, date2[, firstdayofweek[,firstweekofyear]])
Bu fonksiyon ile , iki tarih arasındaki farkı almamız münkün. İnterval özelliği ile ( bir önceki listede var),iki tarih arasındaki hangi farkı almak istiyorsak onu
ayarlarız. Date1 ve date2 değişkenleri ile tarih farkı alınacak olan değerler belirtilir. Diğer iki değişen isteğe bağlı olup system olarak seçilebilir.
Örnekler ;
Mesela ben doğalı kaç gün olmuş gibi bir hesap için ;
Dim dogumtarihi As Date = "16.09.1979"
MsgBox(DateDiff(DateInterval.Day, dogumtarihi, Now()))
17. DatePart(interval,date[,firstdayofweek[,firstweekofyear]])
Bu fonskiyon ile , date değişkeni ile belirtilen bir tarihin , istediğimi bilgisine ulaşabiliriz. İnterval
değişkeni ise , aşağıdaki tabloda belirtilen şekilde kullanılmalıdır.
Karakter Açıklaması
: Saat , dakika , saniyeyi ayrımak için kullanılır
/ Gün , ay , yılı ayırmak için kullanılır.
D Belirtilen günün numarasını verir. (1–31).
dd Belirtilen günün numarasını verir , tek numaraların başına 0 ekler. (01–31).
ddd Gün isimlerinin kısaltmalarını verir. (Paz , Sal gibi).
dddd Gün isimlerinin tam adını görüntüler (Pazar , Salı gibi).
w Günün haftanın kaçıncı günü olduğunu gösterir. (1- 7 arası).
Ww Yılın kaçıncı haftası olduğunu gösterir. (1–54).
M Belirtilen tarihin ay numarasını verir. ( 0 – 12 arası
)
MM Belirtilen tarihin ay numarasını verir. Tek rakamların önüne 0 koyar( 01 – 12 arası )
MMM Kısa ay adlarını gösterir (Oca. , Şub gibi).
MMMM Ayların tam adını görüntüler (Ocak , Şubat gibi).
q Yılın kaçıncı çeyreğinde olduğunu gösterir. (1–4).
y Yılın kaçıncı günü olduğunu gösterir. (1–366).
yy Yıl numaralrının iki rakamlı gösterir. (00–99).
yyyy Yıl numaralarını 4 rakamlı gösterir. (0100–9999).
h Saati gösterir (0–12).
Hh Saati iki rakamlı gösterir. (00–12).
H 24 saat formatına göre saati gösterir. (0–24)
HH 24 saat formatına göre saati 2 rakamlı gösterir.
(00–24)
m Dakikayı gösterir. (0–59).
mm Dakikayı iki rakamlı gösterir. (00–59).
s Saniyeyi gösterir. (0–59).
ss Saniyeyi iki rakamlı gösterir. (00–59).
Örnekler ;
Dim tarih as DateTime = Now() -- > değerin 14.07.2006
12:25:50 olduğunu varsayalım
DatePart(“yyyy”, tarih)) = dönen değer 2006 olacaktır
DatePart(“q”, day1)) = dönen değer 3 olacaktır. Temmuz
ayı yılın 3 ncü çeyreği içindedir.( Ocak-Şubat-Mart = 1
/ -Nisan-Mayıs-Haziran = 2 / Temmuz-Ağustos-Eylül = 3
……….gibi)
DatePart(“m”, day1)) = dönen değer 7 olacaktır.