Inginmencari apakah tahu tahuninitahunkabisat? Atau inginmencari jatuhpadahariapatanggal Januari tahu 1 2012nanti? Tenang saja, semua dapat ini diketahui secara mudah dengan menggunakan fungsi tanggal dan waktu PHP. di
A", langgal
Monday, 05 May 2008, d F Y, h;i;s waktu dengan A ! , 1C E S r / rnktimeO) dan waktu A',
echo date //
mktimeO)
Mendapatkan
timezone
/ / HaBLlt
"0L:33:18 (.h:i:B
Persiapan
Sebelum menjalankan skrip-skrip di bawah ini, terdapat beberapahal yang harus Anda lakukan. a Pastikan paket Apache,PHP5, dan MySQL (opsional), sudahterinstalasidenganbaik pada sistemAnda. a Direktori yang digunakan dalam latihan ini menggunakan direktori user_dir Apache yang dalam contoh ini terdapat di /home/supriyanto/public_html/ll0 6-2008.
echo date // / /
A T/,
Mendapatkan EasLlt
tanggal
"2008-05-05T01r33:l-8+02:00'l mktlme O ) ;
i +***"*'
rlLd,,,E.
H.di.!
I 05 May 2oo8 A I01:33:18 M i Monday, 05 May 2008, 01:33:18 AN{ A i 01:33:18 M CEST I 2008-05-05T01 :33r18+02:00 t_,_._.___.,,._.,_.,
I
-__*-J
= $now["hours"]
string ke format waktu. Dalam proses perQMenSubah Uhitungan yang berkaitan denganformat waktu, kadangkala kita butuh untuk mengubah suatu format string ke dalam format waktu. Untuk melakukan hal ini, Anda dapat menggunakan fungsi strtotime0. Ketikan skrip fungsi_strtotime.php berikut untuk melihat cara mengubah format string ke dalam format waktu.
.?php / / Definlsi string yang akan digunakan
= Snow["mday"]
"."
$now[,'mon',]
Merubah
(-rrrrahfn.ta,,.
dibaca // IJaeLI: ($tg "Sunday, === -1) 04 May 2008 1L:50:54 ? "lnvalid strlng" 9M" d F Y hr
?>
echo
4 Ee !'r* aqrry qooh:rkr looe !.rp R.rrulu+nu
: date("1,
a:
,FG{r^r$rtud ll$r.d
.h.o ...60
BE.H.rdrns!
i:e ?>
A", $ts);
format tanggal dan waktu. Pada contoh di l;Mengubah Gatas, output yang dihasilkan masih menggunakan format UNIX. Untuk mengubahnya ke dalam bentuk yang mudah dibaca oleh pengguna, Anda dapat menggunakan fungsi dateQ. Ketikan skrip fungsi_date.php di bawah ini untuk melihat bentuk output tanggal dan waktu yang Iebih mudah dibaca oleh pengguna:
<?php // // !.,lendapaikan ConLoh ga6il: tanggal sistem
+hh9
$.nd
t+bt..r
Bsc Hr.dh.t
,/lMengubah string dalam bentuk kalimat ke dalam forrtmat waktu. Selain dalam bentuk string biasa, fungsi strtotime0 juga menerima string yang berbentuk kalimat berbahasa Inggris. Sebagai contoh, ketikan skrip fungsi strtotime_2.php berikut untuk melihat contoh perubahan string kalimat ke dalam bentuk waktu:
.?php // Di agumsikan saaE lni "Monday 05 May 2008, 02:33:05
04 May 2008
echo date ( "d M Y,, , mktime O ) .,,<br>,, ; // / / Mendapatkan conto}] Haeil: waktu sistem
01:33 r 18 AM
//
Mendefinieikan
string
72
o6/2008 rNFoLtNUx
www.infolinux.webid .
tfi|0ft|{$il0P
$str / / = "next Friday"; string ke dalan fomat waktu KoLersi $ts = strtotine($str); // Fornat ke dalam bentuk tanggal/waktu yang mudah
i i :,'lli. ii li i :'
dibaca / / HesiI Fri dev oc Mav 2008 f2:00:00 AM" ? "Invalid string" : date("1, d F Y
fungsi mktimeQdan date0. ini, Anda dapat menggunakan Fungsi mktime0 sendid memiliki format: mktime (int hour, int minute, int second,int month, int day, int year). Pada skrip find_number_of_days.php berikut ini, modifier "t" yang terdapat pada fungsi date0 akan meneruskanke jumlah hari dari bulan bersangkutan.Nilai yang dihasilkan berkisarantara28 sampai31.
.?php ,// Mendapatkan formaL waklu unguk bulan Mei 2008
Mendefinisikan
$str / /
$ t . s = m i ( t i m e ( 0 , 0 ,0 , 5 , 1 , 2 0 0 8 ) ; //
//
xonvers!
ke dalam bentuk
Mencari
HaSII:
jumlah
Jf
hari
pada bulan
yang diberikan
? "Invalid
: dare("1,
*,,qr
iu lkn,d
i31
P 1 2 : 0 0 : 0 0 M s u n d a y ,2 0 A p r i l 2 0 0 8 0 B : 3 3 : 0 5 M A
tahun kabisat atau bukan. Dalam sistem fiMengetahui Upenanggalan, diketahui terdapat tahun kabisat yang berselang setiap4 tahun sekali.Hal ini dapat dilihat pada jumlah tanggal bulan Februari tahun kabisat yang berjumlah 29 hari. Untuk mengetahui suatu tahun adalah tahun kabisat atau bukan, dapat dilihat dari perhitungan jika tahun tersebut habis dibagi 400 atau 4, tetapl tidak habis dibagi 100,maka tahun tersebut merupakan tahun berikut kabisat. Ketikkan skrip fungsi_testleapyear.php untuk mengetahuiapakah tahun 2004 dan 2001merupakan tahun kabisat atau bukan:
. ?php // Fungsi untuk kabisat !estleapYear($year) = ( ($yeart400 != 0)) ? true == 0) { | | (9yearta == 0 && mengetes jika tahun tersebut adalah
pada suatu tanggal. Untuk meryMengetahui nama hari f ngetahui nama hari pada suatu tanggal, baik itu tanggal di masalalu maupun di masamendatang,Anda dapat menggunakanfungsi mktime0 dan dateQ. Modifier "I" yang diberikan pada fungsi date0, akan mengubahtanggal yang diberikan ke dalam nama hari yang nilainya dari Sundayhingga Saturday.Untuk mengetahuilebih lanjut, berikut: silakan jalankan skrip find-a-day_name.php
< ?php ,// MendapaLkan format waktu untuk tanggal 01-01-2012
$ t s = m k t i m e ( 0 , 0 , 0 , 1 , 1 , , 2 0 L 2 ); ,// MendapaLkan nama hari "Sunday" / / HaBiL: echo date ( "1" , $t.s) ; dalam minggu lersebut
tahun
: false;
fiKonversi waktu lokal ke GMT. Untuk melakukan peOrubahan dari waktu lokat ke Greenwich Mean Time (GMT), Anda dapat menggunakan fungsi gmdate0.Sebagai contoh,ketikan skrip fungsi_gmdate.php berikut:
.?php // xonversjwaktu lokal saat ini (rsT) ke cMT
//
C o n L o } ,h a s i l :
09:46:29
ke format
/ / Mlsa! //
co\Lo}]' hasilr
g t . s = n k t . i m e1 4 , 3 0 , 0 , 2 , 5 , 2 0 0 5 ) ; echo gmdale("Hri:s
tir t..:j. i Pr;t r*.r"r idd v.! d., H,i4r grlhn'lr !ir{ asrp ri;$!!*$u ;r,,nilortr6:uoan'li,,.i",p'rnpil :i'l,nr';,.-J-r' ;tari{Bs.!.:nt'.r
d-M-y T",
gts);
frMensetahui iumlah hari pada suatu bulan. Mungkin kasus.Anda ingin mengetahui jumlah hari OoaOa-suatu yang terdapat pada suatu bulan. Untuk melakukan hal
w w w . i n fo l i nu x . w e b i.d
T N F O L | N U Xo 6 / 2 0 0 8 7 3