İki TDateTime değerini karşılaştırır ("az", "eşit" veya "daha büyük" değerini döndürür). Her iki değer de aynı gün "düşerse" Zaman bölümünü yoksayar.
CompareDateTime işlevi
İki TDateTime değerini karşılaştırır ("az", "eşit" veya "daha büyük" değerini döndürür).
Beyan:
TValueRelationship = -1..1 yazın
fonksiyon CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship
Açıklama:
İki TDateTime değerini karşılaştırır ("az", "eşit" veya "daha büyük" değerini döndürür).
TValueRelationship iki değer arasındaki ilişkiyi temsil eder. Üç TValueRelationship değerinin her birinin "beğenilen" sembolik sabiti vardır:
-1 [LessThanValue] İlk değer ikinci değerden küçük.
0 [EqualsValue] İki değer eşittir.
1 [GreaterThanValue] İlk değer ikinci değerden büyük.
Tarih sonuçları şununla karşılaştır:
ADate, BDate'den önce ise LessThanValue.
Hem ADate hem de BDate'in tarih ve saat bölümleri aynıysa değer
ADate, BDate'den daha geç ise GreaterThanValue.
Misal:
var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Şimdi; FutureMoment: = IncDay (ThisMoment, 6); // 6 gün ekler. // CompareDateTime (ThisMoment, FutureMoment) LessThanValue (-1) değerini döndürür // CompareDateTime (FutureMoment, ThisMoment) GreaterThanValue (1) değerini döndürür
CompareTime işlevi
İki TDateTime değerini karşılaştırır ("az", "eşit" veya "daha büyük" değerini döndürür). Her iki değer aynı anda gerçekleşirse, Tarih bölümünü yoksayar.
Beyan:
TValueRelationship = -1..1 yazın
fonksiyon CompareDate (const ADate, BDate: TDateTime): TValueRelationship
Açıklama:
İki TDateTime değerini karşılaştırır ("az", "eşit" veya "daha büyük" değerini döndürür). Her iki değer aynı anda gerçekleşirse Zaman bölümünü yok sayar.
TValueRelationship iki değer arasındaki ilişkiyi temsil eder. Üç TValueRelationship değerinin her birinin "beğenilen" sembolik sabiti vardır:
-1 [LessThanValue] İlk değer ikinci değerden küçük.
0 [EqualsValue] İki değer eşittir.
1 [GreaterThanValue] İlk değer ikinci değerden büyük.
Tarih sonuçları şununla karşılaştır:
ADate, BDate tarafından belirtilen günün erken saatlerinde gerçekleşirse LessThanValue.
Hem ADate'in hem de BDate'in zaman bölümleri aynıysa ve Date bölümünü yoksayarak değer verir.
ADate, BDate tarafından belirtilen günün ilerleyen saatlerinde gerçekleşirse GreaterThanValue.
Misal:
var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Şimdi; AnotherMoment: = IncHour (ThisMoment, 6); // 6 saat ekler. // CompareDate (ThisMoment, AnotherMoment) LessThanValue (-1) döndürür // CompareDate (AnotherMoment, ThisMoment) GreaterThanValue (1 değerini döndürür)
Tarih işlevi
Geçerli sistem tarihini döndürür.
Beyan:
tip TDateTime = tip Çift;
fonksiyon tarih: TDateTime;
Açıklama:
Geçerli sistem tarihini döndürür.
TDateTime değerinin ayrılmaz bir parçası, 12/30 / 1899'dan bu yana geçen gün sayısıdır. Bir TDateTime değerinin kesir kısmı 24 saat boyunca geçen kesirdir.
İki tarih arasındaki kesirli gün sayısını bulmak için iki değeri çıkarın. Benzer şekilde, bir tarih ve saat değerini belirli bir kesirli gün sayısıyla artırmak için, kesirli sayıyı tarih ve saat değerine eklemeniz yeterlidir.
Misal: ShowMessage ('Bugün' + DateToStr (Tarih));
DateTimeToStr işlevi
TDateTime değerini bir dizeye (tarih ve saat) dönüştürür.
Beyan:
tip TDateTime = tip Çift;
fonksiyon DayOfWeek (Tarih: TDateTime): tamsayı;
Açıklama:
Belirli bir tarih için haftanın gününü döndürür.
DayOfWeek, Pazar gününün haftanın ilk günü ve Cumartesi yedinci olduğu 1 ile 7 arasında bir tamsayı döndürür.
DayOfTheWeek, ISO 8601 standardıyla uyumlu değildir.
Misal:
const Days: dizi [1..7] / string = ('Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi') ShowMessage ('Bugün' + Günler [DayOfWeek (Tarih)]); //Bugün Pazartesi
Günler arası işlev
Belirtilen iki tarih arasındaki tam gün sayısını verir.
Beyan:
fonksiyon DaysBetween (const ANow, AThen: TDateTime): Tamsayı;
Açıklama:
Belirtilen iki tarih arasındaki tam gün sayısını verir.
İşlev yalnızca tüm günleri sayar. Bunun anlamı, 05/01/2003 23:59:59 ve 05/01/2003 23:59:58 arasındaki farkın sonucu olarak 0 değerini döndüreceği - burada gerçek fark bir * bütün * gün eksi 1 saniye .
Misal:
var dtNow, dtBirth: TDateTime; DaysFromBirth: tamsayı; dtNow: = Şimdi; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "var"' + IntToStr (DaysFromBirth) + 'tam gün!');
DateOf işlevi
Zaman bölümünü 0 olarak ayarlayarak TDateTime değerinin yalnızca Tarih bölümünü döndürür.
Beyan:
fonksiyon DateOf (Tarih: TDateTime): TDateTime
Açıklama:
Zaman bölümünü 0 olarak ayarlayarak TDateTime değerinin yalnızca Tarih bölümünü döndürür.
DateOf, saat bölümünü 0 olarak ayarlar, yani gece yarısı.
Misal:
var ThisMoment, ThisDay: TDateTime; ThisMoment: = Şimdi; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Bu Gün: = 06/27/2003 00: 00: 00: 000
DecodeDate işlevi
Yıl, Ay ve Gün değerlerini TDateTime değerinden ayırır.
Beyan:
prosedür DecodeDate (Tarih: TDateTime; var Yıl, Ay, Gün: Kelime) ;;
Açıklama:
Yıl, Ay ve Gün değerlerini TDateTime değerinden ayırır.
Verilen TDateTime değerinin sıfırdan küçük veya ona eşit olması durumunda, yıl, ay ve gün dönüş parametrelerinin tümü sıfıra ayarlanır.
Misal:
var Y, M, D: Kelime; DecodeDate (Tarih, Y, M, D); Y = 2000 ise. ShowMessage ('' Yanlış 'bir yüzyıldasınız!);
EncodeDate işlevi
Yıl, Ay ve Gün değerlerinden bir TDateTime değeri oluşturur.
Beyan:
fonksiyon EncodeDate (Yıl, Ay, Gün: Word): TDateTime
Açıklama:
Yıl, Ay ve Gün değerlerinden bir TDateTime değeri oluşturur.
Yıl 1 ile 9999 arasında olmalıdır. Geçerli Ay değerleri 1 ile 12 arasındadır. Geçerli Gün değerleri, Ay değerine bağlı olarak 1 ila 28, 29, 30 veya 31'dir.
İşlev başarısız olursa, EncodeDate bir EConvertError istisnası oluşturur.
Misal:
var Y, M, D: Kelime; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna olacak. bir yaşında '+ DateToStr (dt))
FormatDateTime işlevi
TDateTime değerini bir dizeye biçimlendirir.
Beyan:
fonksiyon FormatDateTime (const Fmt: dize; Değer: TDateTime): sicim;
Açıklama:
TDateTime değerini bir dizeye biçimlendirir.
FormatDateTime, Fmt parametresi tarafından belirtilen biçimi kullanır. Desteklenen format belirleyicileri için Delphi Yardım dosyalarına bakın.
Misal:
var s: string; d: TDateTime;... d: Artık =; // bugün + şimdiki zaman. s: = FormatDateTime ( 'dddd', d); // s: = Çarşamba. s: = FormatDateTime ('"Bugün" dddd "dakikası" nn', d) // s: = Bugün Çarşamba dakikası 24
IncDay işlevi
Bir tarih değerine belirli sayıda gün ekler veya çıkarır.
Beyan:
fonksiyon IncDay (ADate: TDateTime; Günler: Tamsayı = 1): TDateTime;
Açıklama:
Bir tarih değerine belirli sayıda gün ekler veya çıkarır.
Days parametresi negatifse, döndürülen tarih
Misal:
var Tarih: TDateTime; EncodeDate (Tarih, 2003, 1, 29) // 29 Ocak 2003. IncDay (Tarih, -1) // 28 Ocak 2003
Şimdi işlevi
Geçerli sistem tarihini ve saatini döndürür.
Beyan:
tip TDateTime = tip Çift;
fonksiyon Şimdi: TDateTime;
Açıklama:
Geçerli sistem tarihini ve saatini döndürür.
TDateTime değerinin ayrılmaz bir parçası, 12/30 / 1899'dan bu yana geçen gün sayısıdır. Bir TDateTime değerinin kesir kısmı 24 saat boyunca geçen kesirdir.
İki tarih arasındaki kesirli gün sayısını bulmak için iki değeri çıkarın. Benzer şekilde, bir tarih ve saat değerini belirli bir kesirli gün sayısıyla artırmak için, kesirli sayıyı tarih ve saat değerine eklemeniz yeterlidir.
Misal: ShowMessage ('Now is' + DateTimeToStr (Now));
Yıllar arası işlev
Belirtilen iki tarih arasındaki tüm yıl sayısını verir.
Beyan:
fonksiyon YearsBetween (const SomeDate, AnotherDate: TDateTime): Tamsayı;
Açıklama:
Belirtilen iki tarih arasındaki tüm yıl sayısını verir.
Yıllar arasında, yılda 365,25 gün varsayımına dayanan bir yaklaşık değer döndürür.
Misal:
var dtSome, dtAnother: TDateTime; DaysFromBirth: tamsayı; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); Yıllar arasında (dtSome, dtAnother) == 1 // artık olmayan yıl. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); Yıllar Arası (dtSome, dtAnother) == 0 // artık yıl