Pemrograman Delphi: Rutinitas Tanggal / Waktu

Membandingkan dua nilai TDateTime (mengembalikan "kurang", "sama" atau "lebih besar"). Abaikan bagian Waktu jika kedua nilai "jatuh" pada hari yang sama.

Fungsi CompareDateTime

Membandingkan dua nilai TDateTime (mengembalikan "kurang", "sama" atau "lebih besar").

Pernyataan:
ketik TValueRelationship = -1..1
fungsi CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Deskripsi:
Membandingkan dua nilai TDateTime (mengembalikan "kurang", "sama" atau "lebih besar").

TValueRelationship mewakili hubungan antara dua nilai. Masing-masing dari tiga nilai TValueRelationhip memiliki konstanta simbolik "disukai":
-1 [LessThanValue] Nilai pertama kurang dari nilai kedua.
0 [EqualsValue] Kedua nilai tersebut sama.
1 [GreaterThanValue] Nilai pertama lebih besar dari nilai kedua.
CompareDate menghasilkan:

LessThanValue jika ADate lebih awal dari BDate.
Nilai Equals jika bagian tanggal dan waktu dari kedua ADate dan BDate adalah sama
GreaterThanValue jika ADate lebih dari BDate.

Contoh:

v ThisMoment, FutureMoment: TDateTime; ThisMoment: = Sekarang; FutureMoment: = IncDay (ThisMoment, 6); // menambahkan 6 hari. // CompareDateTime (ThisMoment, FutureMoment) mengembalikan LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) mengembalikan GreaterThanValue (1)
instagram viewer

Fungsi CompareTime

Membandingkan dua nilai TDateTime (mengembalikan "kurang", "sama" atau "lebih besar"). Abaikan bagian Tanggal jika kedua nilai terjadi secara bersamaan.

Pernyataan:
ketik TValueRelationship = -1..1
fungsi CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Deskripsi:
Membandingkan dua nilai TDateTime (mengembalikan "kurang", "sama" atau "lebih besar"). Abaikan bagian Waktu jika kedua nilai terjadi pada waktu yang sama.

TValueRelationship mewakili hubungan antara dua nilai. Masing-masing dari tiga nilai TValueRelationhip memiliki konstanta simbolik "disukai":
-1 [LessThanValue] Nilai pertama kurang dari nilai kedua.
0 [EqualsValue] Kedua nilai tersebut sama.
1 [GreaterThanValue] Nilai pertama lebih besar dari nilai kedua.
CompareDate menghasilkan:

LessThanValue jika ADate muncul lebih awal pada hari yang ditentukan oleh BDate.
Nilai Equals jika bagian waktu dari kedua ADate dan BDate adalah sama, mengabaikan bagian Tanggal.
GreaterThanValue jika ADate terjadi kemudian pada hari yang ditentukan oleh BDate.

Contoh:

v ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Sekarang; AnotherMoment: = IncHour (ThisMoment, 6); // tambahkan 6 jam. // CompareDate (ThisMoment, AnotherMoment) mengembalikan LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) mengembalikan GreaterThanValue (1

Fungsi tanggal

Mengembalikan tanggal sistem saat ini.

Pernyataan:
Tipe TDateTime = Tipe Dua kali lipat;

fungsi tanggal: TDateTime;

Deskripsi:
Mengembalikan tanggal sistem saat ini.

Bagian integral dari nilai TDateTime adalah jumlah hari yang telah berlalu sejak 12/30/1899. Bagian fraksional dari nilai TDateTime adalah fraksi dari 24 jam sehari yang telah berlalu.

Untuk menemukan jumlah hari pecahan antara dua tanggal, cukup kurangi dua nilai. Demikian juga, untuk menambah nilai tanggal dan waktu dengan jumlah hari pecahan tertentu, cukup tambahkan angka pecahan ke nilai tanggal dan waktu.

Contoh: ShowMessage ('Today is' + DateToStr (Date));

Fungsi DateTimeToStr

Mengonversi nilai TDateTime ke string (tanggal dan waktu).

Pernyataan:
Tipe
TDateTime = Tipe Dua kali lipat;

fungsi DayOfWeek (Tanggal: TDateTime): integer;

Deskripsi:
Mengembalikan hari dalam seminggu untuk tanggal yang ditentukan.

DayOfWeek mengembalikan bilangan bulat antara 1 dan 7, di mana Minggu adalah hari pertama dalam seminggu dan Sabtu adalah yang ketujuh.
DayOfTheWeek tidak sesuai dengan standar ISO 8601.

Contoh:

const Days: array [1..7] dari string = ('Minggu Senin Selasa Rabu Kamis Jumat Sabtu') ShowMessage ('Today is' + Days [DayOfWeek (Date)]); //Hari ini hari Senin

Fungsi DaysBetween

Memberi jumlah hari penuh antara dua tanggal yang ditentukan.

Pernyataan:
fungsi
DaysBetween (const ANow, AThen: TDateTime): Integer;

Deskripsi:
Memberi jumlah hari penuh antara dua tanggal yang ditentukan.

Fungsi hanya dihitung sepanjang hari. Artinya adalah ia akan mengembalikan 0 sebagai hasil untuk perbedaan antara 05/01/2003 23:59:59 dan 05/01/2003 23:59:58 - di mana perbedaan sebenarnya adalah satu * seluruh * hari dikurangi 1 detik .

Contoh:

var dtNow, dtBirth: TDateTime; DaysFromBirth: integer; dtNow: = Sekarang; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "ada"' + IntToStr (DaysFromBirth) + 'sepanjang hari!');

Fungsi DateOf

Hanya mengembalikan bagian Tanggal dari nilai TDateTime, dengan mengatur bagian Waktu ke 0.

Pernyataan:
fungsi
DateOf (Tanggal: TDateTime): TDateTime

Deskripsi:
Hanya mengembalikan bagian Tanggal dari nilai TDateTime, dengan mengatur bagian Waktu ke 0.

DateOf menetapkan porsi waktu ke 0, yang berarti tengah malam.

Contoh:

v ThisMoment, ThisDay: TDateTime; ThisMoment: = Sekarang; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Hari Ini: = 06/27/2003 00: 00: 00: 000

Fungsi DecodeDate

Memisahkan nilai Tahun, Bulan, dan Hari dari nilai TDateTime.

Pernyataan:
prosedur
DecodeDate (Tanggal: TDateTime; var Tahun, Bulan, Hari: Kata) ;;

Deskripsi:
Memisahkan nilai Tahun, Bulan, dan Hari dari nilai TDateTime.

Jika nilai TDateTime yang diberikan kurang dari atau sama dengan nol, parameter tahun, bulan, dan hari semua diatur ke nol.

Contoh:

var Y, M, D: Word; DecodeDate (Date, Y, M, D); jika Y = 2000 maka. ShowMessage ('Anda berada di abad yang "salah"!);

Fungsi EncodeDate
Menciptakan nilai TDateTime dari nilai Tahun, Bulan, dan Hari.

Pernyataan:
fungsi
EncodeDate (Tahun, Bulan, Hari: Word): TDateTime

Deskripsi:
Menciptakan nilai TDateTime dari nilai Tahun, Bulan, dan Hari.

Tahun harus antara 1 dan 9999. Nilai Bulan yang valid adalah 1 hingga 12. Nilai Hari yang valid adalah 1 hingga 28, 29, 30, atau 31, tergantung pada nilai Bulan.
Jika fungsi gagal, EncodeDate memunculkan eksepsi EConvertError.

Contoh:

var Y, M, D: Word; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna akan menjadi. berumur satu tahun pada '+ DateToStr (dt))

Fungsi FormatDateTime
Memformat nilai TDateTime ke string.

Pernyataan:
fungsi
FormatDateTime (const Fmt: string; Nilai: TDateTime): tali;

Deskripsi:
Memformat nilai TDateTime ke string.

FormatDateTime menggunakan format yang ditentukan oleh parameter Fmt. Untuk penentu format yang didukung, lihat file Bantuan Delphi.

Contoh:

var s: string; d: TDateTime;... d: = Sekarang; // hari ini + waktu saat ini. s: = FormatDateTime ('dddd', d); // s: = Rabu. s: = FormatDateTime ('"Hari ini adalah" dddd "menit" nn', d) // s: = Hari ini adalah Rabu menit 24

Fungsi IncDay

Menambah atau mengurangi jumlah hari tertentu dari nilai tanggal.

Pernyataan:
fungsi
IncDay (ADate: TDateTime; Hari: Integer = 1): TDateTime;

Deskripsi:
Menambah atau mengurangi jumlah hari tertentu dari nilai tanggal.

Jika parameter Days negatif, tanggal yang dikembalikan adalah

Contoh:

Tanggal var: TDateTime; EncodeDate (Tanggal, 2003, 1, 29) // 29 Januari 2003. IncDay (Tanggal, -1) // 28 Januari 2003

Sekarang berfungsi

Mengembalikan tanggal dan waktu sistem saat ini.

Pernyataan:
Tipe
TDateTime = Tipe Dua kali lipat;

fungsi Sekarang: TDateTime;

Deskripsi:
Mengembalikan tanggal dan waktu sistem saat ini.

Bagian integral dari nilai TDateTime adalah jumlah hari yang telah berlalu sejak 12/30/1899. Bagian fraksional dari nilai TDateTime adalah fraksi dari 24 jam sehari yang telah berlalu.

Untuk menemukan jumlah hari pecahan antara dua tanggal, cukup kurangi dua nilai. Demikian juga, untuk menambah nilai tanggal dan waktu dengan jumlah hari pecahan tertentu, cukup tambahkan angka pecahan ke nilai tanggal dan waktu.

Contoh: ShowMessage ('Sekarang adalah' + DateTimeToStr (Sekarang));

Tahun Antara fungsi

Memberi jumlah tahun penuh antara dua tanggal yang ditentukan.

Pernyataan:
fungsi
Tahun antaraconst SomeDate, AnotherDate: TDateTime): Integer;

Deskripsi:
Memberi jumlah tahun penuh antara dua tanggal yang ditentukan.

YearsBetween mengembalikan perkiraan berdasarkan asumsi 365,25 hari per tahun.

Contoh:

var dtSome, dtAnother: TDateTime; DaysFromBirth: integer; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // tahun non-kabisat. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // tahun kabisat
instagram story viewer