FUNGSIONAL TANGGAL DAN WAKTU
Fungsi Tanggal dan Waktu di PHP
Web Development - drzpost.com - Buat yang pengen tahu fungsi-fungsi tanggal dan waktu pada PHP, kita lihat aja PHP manual Indonesia berikut berikut.6. Fungsi Tanggal dan Waktu (Date/Time)
- date - Format tanggal dan waktu lokal
- getdate — Mendapatkan informasi tanggal/waktu
- mktime — Mendapatkan timestamp Unix untuk suatu tanggal
- strtotime — Mengubah string tanggal/waktu (bahasa inggris) ke timestamp Unix.
- time — Menghasilkan timestamp Unix saat ini
- Contoh : Mencari selisih hari antara 2 tanggal
date
Format tanggal dan waktu lokalSintaks :
date ( string $format [, int $timestamp ] )Parameter :
$format, adalah format-format tanggal dan waktu yang ingin ditampilkan, berikut adalah format-format untuk tanggal dan waktu :
format karakter | Deskripsi | Contoh Hasil |
---|---|---|
Hari/Tanggal | --- | --- |
d | Tanggal dua digit dalam 1 bulan, jika 1 digit ada nol depannya | 01 to 31 |
D | Nama hari dalam 1 minggu, 3 huruf | Mon sampai Sun |
j | Tanggal dalam 1 bulan, tanpa nol depannya | 1 to 31 |
l (huruf kecil 'L') |
Nama hari dalam 1 minggu | Sunday sampai Saturday |
N | ISO-8601 angka yang menunjukkan hari (PHP 5.1.0) | 1 (untuk Senin) sampai 7 (untuk Minggu) |
S | suffix bahasa inggris untuk tanggal, 2 karakter | st, nd, rd or th. disatukan dengan j |
w | Angka yang menunjukkan hari seminggu | 0 (Untuk Minggu) sampai 6 (untuk sabtu) |
z | Tanggal dalam 1 tahun (dimulai dari 0) | 0 sampai 365 |
Minggu | --- | --- |
W | ISO-8601 nomor minggu dalam 1 tahun, mingguan/week dimulai dari hari Senin | Contoh: 42 (Minggu ke 42 dalam tahun) |
Bulan | --- | --- |
F | Nama bulan, seperti January atau March | January sampai December |
m | Angka yang menunjukkan bulan, 2 digit | 01 sampai 12 |
M | Nama bulan, 3 huruf | Jan sampai Dec |
n | Angka yang menunjukkan bulan | 1 sampai 12 |
t | Jumlah hari bulan yang ditentukan | 28 sampai 31 |
Tahun | --- | --- |
Y | Tahun 4 digit | Contoh: 1999 atau 2003 |
y | tahun 2 digit | Contoh: 99 atau 03 |
Waktu | --- | --- |
a | Huruf kecil Ante meridiem (am) dan Post meridiem (pm) | am atau pm |
A | Huruf besar Ante meridiem (am) dan Post meridiem (pm) | AM atau PM |
B | Swatch Internet time | 000 sampai 999 |
g | Format 12 jam, tanpa 0 | 1 sampai 12 |
G | Format 24 jam, tanpa 0 | 0 sampai 23 |
h | Format 12 jam, 2 digit, dengan 0 depannya | 01 sampai 12 |
H | Format 24 jam, 2 digit, dengan 0 depannya | 00 sampai 23 |
i | Menit | 00 sampai 59 |
s | Detik | 00 sampai 59 |
u | Microseconds (PHP 5.2.2) | Contoh: 54321 |
Timezone | --- | --- |
e | Pengidentifikasi Timezone (PHP 5.1.0) | Contoh: UTC, GMT, Atlantic/Azores |
O | perbedaan terhadap waktu Greenwich (GMT) dalam jam | Contoh: +0200 |
P | perbedaan terhadap waktu Greenwich (GMT) dalam jam ada titik dua antara jam dan menit (PHP 5.1.3) | Contoh: +02:00 |
T | Singkatan Timezone | Contoh: EST, MDT ... |
Full Date/Time | --- | --- |
c | Tanggal ISO 8601 (PHP 5) | 2004-02-12T15:19:21+00:00 |
r | Format tanggal RFC 2822 | Contoh: Thu, 21 Dec 2000 16:01:07 +0200 |
$timestamp, timestamp Unix (integer)
Contoh :
<?php // Misal sekarang adalah tanggal 10 Maret, 2001, 5:16:18 pm $today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm echo $today; $today = date("m.d.y"); // 03.10.01 echo $today; $today = date("j, n, Y"); // 10, 3, 2001 echo $today; $today = date("Ymd"); // 20010310 echo $today; $today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 echo $today; $today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. echo $today; $today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001 echo $today; $today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month echo $today; $today = date("H:i:s"); // 17:16:18 echo $today; ?>
getdate
Fungsi : Mendapatkan informasi tanggal/waktu, hasilnya dalam bentuk arraySintaks :
getdate ([ int $timestamp= time() ] )Parameter :
$timestamp, adalah timestamp UNIX (integer), jika dikosongkan akan mengambil waktu saat ini.
Contoh :
<?php $today = getdate(); print_r($today); ?>Hasilnya :
Array ( [seconds] => 11 [minutes] => 25 [hours] => 21 [mday] => 29 [wday] => 5 [mon] => 10 [year] => 2010 [yday] => 301 [weekday] => Friday [month] => October [0] => 1288358711 )
mktime
Fungsi : Mendapatkan timestamp Unix untuk suatu tanggalSintaks :
mktime ([ int $hour= date("H") [, int $minute= date("i") [, int $second= date("s") [, int $month= date("n") [, int $day= date("j") [, int $year= date("Y") [, int $is_dst= -1 ]]]]]]] )Contoh :
<?php echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997))."<br>"; echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997))."<br>"; echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998))."<br>"; echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98))."<br>"; //Hasilnya semua sama : Jan-01-1998 ?>Contoh 2 :
<?php $besok = mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); $bulankemaren = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $tahundepan = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1); echo "Besok : ".date("d M Y",$besok)."<br>"; echo "Bulan kemaren : ".date("M Y", $bulankemaren)."<br>"; echo "Tahun depan: ".date("Y", $tahundepan)."<br>"; ?>
strtotime
Fungsi : Mengubah string tanggal/waktu (bahasa inggris) ke timestamp Unix.Sintaks :
strtotime ( string $time [, int $now ] )Contoh :
<?php echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week"), "\n"; echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; echo strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; ?>
time
Fungsi : Menghasilkan timestamp Unix saat iniSintaks :
time ( void )Contoh :
<?php $minggudepan = time() + (7 * 24 * 60 * 60); // 7 hari; 24 jam; 60 menit; 60 detik echo 'Sekarang: '. date('Y-m-d') ."\n<br>"; echo 'Minggu Depan: '. date('Y-m-d', $minggudepan) ."\n<br>"; // atau menggunakan strtotime(): echo 'Minggu Depan: '. date('Y-m-d', strtotime('+1 week')) ."\n<br>"; ?>Hasilnya :
Sekarang: 2010-10-29 Minggu Depan: 2010-11-05 Minggu Depan: 2010-11-05
6. Contoh : Mencari selisih hari antara 2 tanggal
<?php $tgl1 = "25-10-2010"; $tgl2 = "27-10-2010"; $selisih = strtotime($tgl2) - strtotime($tgl1); $hari = $selisih/(60*60*24); //60 detik * 60 menit * 24 jam = 1 hari echo "Selisih tanggal $tgl2 dan $tgl1 adalah $hari hari"; ?>