Contents
Berikut ini sedikit catatan saya berkenaan dengan beberapa fungsi DateTime dalam Delphi. Daripada lupa saya tulisan dalam bentuk artikel di blog saya, atau mungkin ada yang membutuhkan, silahkan dipelari. Fungsi-fungsi saya kumpulkan dari beberapa project saya terdahulu yang berkenaan dengan fungsi pada class DateTime di Delphi. Udah pada tahu tentang fungsi DateTime ini, kan? Kurang lebihnya DateTime adalah kelas (class) yang menyatakan sebuah besaran waktu. Ada dua macam satuan waktu yang didefinisikan di sini, yaitu ‘Date’ (tanggal) dan ‘Time’ waktu. Jadi sebenarnya Anda bisa menggunakan fungsi ‘Date’-nya saja atau ‘Time’-nya saja atau gabungan keduanya
Contoh variabel Date : 23/11/2016
Contoh variabel Time : 8:01:02
Contoh variabel DateTime : 23/11/2016 8:01:02
Catatan : format Date dan Time tergantung pada settingan ‘Regional Setting’ pada komputer Anda. Settingan ini dapat diubah melalui Control Panel – Regional Setting
Cara mendefinisikan varibel DateTime : ‘var t:TDateTime;’
Contoh source code :
Ambil 6 buah komponen TLabel dan 1 buah komponen TButton. Atur peletakan komponen seperti gambar di bawah
Kemudian isikan event handler untuk Button1 (double click komponen Button1) sebagai berikut:
procedure TForm1.Button1Click(Sender: TObject); var t:TDateTime; begin  label1.Caption:=timetostr(now);  label2.Caption:=datetostr(now);  label3.Caption:=datetimetostr(now); end;
Catatan : function ‘Now’ adalah built in function di Delphi yang akan mengembalikan nilai waktu sekarang (current time)
Maka hasilnya akan seperti gambar di bawah:
[AdSense-A]
Semoga dengan program kecil di atas dapat semakin mencerahkan Anda tentang fungsi DateTime di Delphi. Selanjutnya, berikut ini adalah beberapa fungsi DateTime dalam Delphi yang mungkin bermanfaat untuk Anda
Catatan : ada baiknya Anda menambahkan unit ‘DateUtils’ di deklarasi ‘uses’ di file project Anda, karena beberapa function di atas ada di unit ini.
Mengubah variabel string menjadi DateTime dan sebaliknya
Sebenarnya sudah ada contohnya pada source code di atas. Tapi gpp, saya ulangi saja. Contoh:
procedure TForm1.Button1Click(Sender: TObject); var t:TDateTime; begin  label1.Caption:=timetostr(now);  label2.Caption:=datetostr(now);  label3.Caption:=datetimetostr(now); end;
dan ini
procedure TForm1.Button4Click(Sender: TObject); begin  label10.Caption:=timetostr(strtotime(edit1.Text)); end;
Mengubah angka menjadi variabel DateTime
Untuk mengubah angka biasa menjadi variabel Date Time, Anda dapat menggunakan function ‘EncodeTime’ untuk mengubah waktu saja atau ‘EncodeDateTime’ untuk mengubah tanggal dan waktu. Contoh:
procedure TForm1.Button3Click(Sender: TObject); var waktu, tanggal:TDateTime; begin  waktu:= EncodeTime(08, 01, 02, 00);  tanggal:= EncodeDateTime(2016, 11, 23, 08, 01, 02, 00);  label8.caption:=timetostr(waktu);  label9.caption:=datetimetostr(tanggal); end;
Mendapatkan nilai jam, menit, detik, milidetik
Point 3 ini merupakan kebalikan dari point 2 di atas, yakni kita bermaksud mendapatkan angka dari suatu besaran waktu. Contoh :
procedure TForm1.Button5Click(Sender: TObject); var jam, mnt, dtk, mdtk : Word; begin  DecodeTime (now,jam,mnt,dtk,mdtk);  label11.Caption:=inttostr(jam);  label12.Caption:=inttostr(mnt);  label13.Caption:=inttostr(dtk);  label14.Caption:=inttostr(mdtk); end;
Mencari selisih antara dua waktu
Untuk mendapatkan selisih waktu caranya cukup mudah, tinggal Anda kurangkan saja dua waktu yang ingin Anda cari selisihnya. Tapi ingat, kedua variabel yang dioperasikan harus dalam tipe DateTime ya. Contoh:
procedure TForm1.Button2Click(Sender: TObject); var stop, start, selisih:TDateTime; begin  start:= EncodeTime(08, 01, 02, 00);  stop:=now;  selisih := stop - start;  label7.caption :=timetostr(selisih); end;
Mencari selisih hari
Untuk mencari selisih hari Anda dapat menggunakan function ‘DaysBetween’. Contoh:
procedure TForm1.Button6Click(Sender: TObject); var  awal, akhir : TDateTime;  waktu:integer; begin  awal := EncodeDateTime(2016, 11, 23, 1, 0, 0, 0);  akhir  := EncodeDateTime(2016, 11, 24, 9, 0, 0, 0);  waktu:=DaysBetween(awal, akhir);  label15.Caption:=inttostr(waktu); end;
Seluruh contoh source code di atas dapat di download di sini
[AdSense-A]
Komponen visual untuk mengambil data waktu
Di Delphi sebenarnya ada komponen visual untuk mengambil data waktu (DateTime), namanya DateTimePicker. Komponen ini ada di tab ‘Win32’. Dengan adanya komponen ini maka Anda tidak akan salah lagi menuliskan variabel TDateTime. Anda dapat mengeset tipe komponen ini apakah akan menampilkan tanggal atau waktu dengan mengatur properti Kind (tersedia pilihan ‘dtkDate’ untuk menampilkan tanggal dan ‘dtkTime’ untuk menampilkan waktu
Demikian sedikit catatan tentang fungsi DateTime dari Delphi, semoga membantu dalam menyelesaikan project Anda. Happy coding …
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Terima kasih banyak, sangat membantu
Mas, apa boleh tau caranya mencari tanggal akhir dari bulan tertentu?
boleh mas 🙂
Pagi Mas,
Bagaimana cara sort lisbox agar susunan tepat? saya coba dapat ini kalau pakai listbox.sorted:=true
kelas1
kelas10
kelas11
kelas2
kelas3
cara yang paling mudah diatur di Object Inspector
Bgm caranya utk mengambil tanggal & jam server dari workstation. Kebetulan saya menggunakan Delphi 7. Terima kasih sebelumnya
hrs pake API mas di server