Menambah Mengurangi Tanggal dan Jam di PHP

Posted by love your self first On Sabtu, 15 September 2012 0 komentar

Kali ini saya ingin membagikan tips tentang menambah dan mengurangi tahun, bulan, hari, jam, menit dan detik di PHP. Beberapa saat yang lalu saya membagikan teknik pemrograman PHP berbasis OOP. Ya, mungkin kalian sedang membuat aplikasi reservasi tiket, aplikasi simpan-pinjam buku perpustakaan, pokoknya aplikasi yang serba menghitung tanggal. Tips ini dijamin akan sangat bermanfaat sekali! 

Menampilkan Tanggal dan Jam Realtime Server dengan PHP

Website aplikasi hendaknya akan dihosting nantinya, sedangkan untuk hosting ada beberapa pilihan lokasi yaitu server IIX (indonesia), server USA, server SG (singapura), server NL (netherland/belanda) dan lain-lain. Untuk waktu realtime server mempunyai settingan menurut lokasi daerah waktu (GMT) jadi untuk mencocokkan waktu realtime server dengan lokasi kita harus setting timezone terlebih dahulu. Berikut contoh menampilkan waktu tanggal dan jam realtime server melalui PHP:

1
2
3
4
<?php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
echo date('d-m-Y H:i:s');
?>
Ada beberapa zona waktu yang sudah dijadikan standar di PHP, lebih lengkapnya lihat Zona Waktu di PHP. Kalau masih bingung sama format date-time di PHP, lihat lebih detail di sini: Format Date-Time di PHP.

Menambah Waktu dengan function PHP

Ada function yang ditambahkan di PHP versi 5.3, yaitu function date_add. Semakin maju teknologi memang semakin mudah untuk digunakan, terlebih mengingat dahulu pemrograman masih berbasis C. :lol: Function date_add adalah function bawaan PHP terbaru (hanya ada di versi 5.3 ke atas) dan berguna untuk menambah atau mengurangi waktu (baik tahun, bulan, hari, jam, menit maupun detik). Hari gini masih pakai hosting PHP 5.2? Masih hitung tanggal dan waktu memakai function explode? Udah bukan jamannya lagi! :lol: Memang sih untuk hosting yang mengadopsi fitur high-end itu susah carinya, tapi coba lihat review saya satu ini: Hosting Litespeed PHP 5.3.
Ingin tahu bagaimana cara penggunaannya? Untuk cara penggunaan function date_add ada 2 jenis, yakni menggunakan oop style dan pemrograman berbentuk prosedural. Berikut contoh function date_add untuk menghitung waktu dengan oop style:
1
2
3
4
5
6
<?php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date new DateTime('20-02-2012');
$date->add(new DateInterval('P10D'));
echo $date->format('d-m-Y') . "\n";
?>
Untuk function date_add berbasis objek di atas menggunakan function DateInterval. P10D di bagian function DateInterval berarti menambah 10 hari setelah tanggal 20-02-2012. Coba bandingkan dengan yang menggunakan konsep prosedural di bawah ini:
1
2
3
4
5
6
<?php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012');
date_add($date, date_interval_create_from_date_string('10 days'));
echo date_format($date, 'd-m-Y');
?>
Function date_add di atas adalah contoh konsep penggunaan secara prosedural. Function date_add dengan konsep prosedural menggunakan function date_interval_create_from_date_string. Function date_interval_create_from_date_string lebih saya rekomendasikan untuk digunakan karena lebih familiar dan berbasis bahasa inggris.

Contoh Mengurangi dan Menambah Tanggal atau Jam di PHP

Masih belum jelas? Berikut saya berikan contoh lengkap penggunaan function date_add untuk menambah dan mengurangi tahun, bulan, hari, jam, menit dan detik di PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
// menambahkan tahun di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('1 year'));
echo 'Tambahkan 1 tahun: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi tahun di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-1 year'));
echo 'Kurangi 1 tahun: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// menambahkan bulan di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('6 months'));
echo 'Tambahkan 6 bulan: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi bulan di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-6 months'));
echo 'Kurangi 6 bulan: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// menambahkan hari di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('7 days'));
echo 'Tambahkan 7 hari: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi hari di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-7 days'));
echo 'Kurangi 7 hari: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// menambahkan jam di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('6 hours'));
echo 'Tambahkan 6 jam: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi jam di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-6 hours'));
echo 'Kurangi 6 jam: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// menambahkan menit di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('30 minutes'));
echo 'Tambahkan 30 menit: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi menit di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-30 minutes'));
echo 'Kurangi 30 menit: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// menambahkan detik di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('25 seconds'));
echo 'Tambahkan 25 detik: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
 
// mengurangi detik di php
if(function_exists('date_default_timezone_set')) date_default_timezone_set('Asia/Jakarta');
$date = date_create('20-02-2012 19:30:20');
echo 'Waktu awal: 20-02-2012 19:30:20<br/>';
date_add($date, date_interval_create_from_date_string('-25 seconds'));
echo 'Kurangi 25 detik: '.date_format($date, 'd-m-Y H:i:s').'<br/><br/>';
?>
Contoh di atas lengkap kan? Saya rasa contoh di atas cukup untuk menjelaskan tentang function date_add. Oke, sampai di sini dulu artikel tentang penggunaan function date_add untuk menambah dan mengurangi tahun, bulan, hari, jam, menit dan detik di PHP.

ARTIKEL TERKAIT:

0 komentar:

Posting Komentar