Beberapa Fungsi DateTime dalam Delphi

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

beberapa-fungsi-datetime-dalam-delphi-form-designer

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:

beberapa-fungsi-datetime-dalam-delphi-aplikasi

Download source code delphi

[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 …

0 0 votes
Article Rating

Leave a Reply

5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ahmad Shoffa

Terima kasih banyak, sangat membantu

Yoda Daryono

Mas, apa boleh tau caranya mencari tanggal akhir dari bulan tertentu?

dede

Pagi Mas,

Bagaimana cara sort lisbox agar susunan tepat? saya coba dapat ini kalau pakai listbox.sorted:=true

kelas1
kelas10
kelas11
kelas2
kelas3

5
0
Would love your thoughts, please comment.x
()
x