Cara menggunakan mysql timestamp from string

Pada kesempatan yang baik ini kita akan membahas tentang fungsi time, mktime, dan strtotime pada PHP.

Fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1 dan
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2 keduanya memiliki fungsi yang sama yaitu menghasilkan waktu dalam format timestamp. Beda keduanya adalah, pada fungsi
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1, argumen yang diterima adalah string (teks) sedangkan pada fungsi
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2, argumen yang digunakan adalah satuan waktu.

Pengertian Timestamp

Fungsi yang kita bahas disini semuanya berkaitan dengan timestamp, oleh karena itu, kita perlu tahu apa itu timestamp.

Timestamp adalah istilah yang mengacu pada standar waktu berupa waktu dalam detik sejak epoch time: 1970-01-01 00:00:00, sehingga, angka 1 dalam timestamp berarti 1 detik sejak 1970-01-01 00:00:00 yaitu 1970-01-01 00:00:01, sedangkan 60 berarti 1970-01-01 00:01:00, dst..

Sebagai tambahan, kita juga perlu untuk memahami zona waktu pada PHP: Memahami Zona Waktu (Timezone) dan Selisih Waktu Pada PHP

I. Fungsi Time Pada PHP

Fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5 digunakan untuk mengambil waktu sekarang pada komputer server dalam format timestamp. Fungsi ini tidak memiliki argumen.

Timestamp yang dihasilkan oleh fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5 selalu pada waktu UTC (GMT +  0), meskipun konfigurasi zone waktu berubah ubah. Lebih jauh tentang timezone, dapat dibaca pada artikel: Memahami Zona Waktu (Timezone) dan Selisih Waktu Pada PHP

Contoh:

<?php
echo 'Date: ' . date('Y-m-d H:i:s'); // Hasil: 2017-01-17 15:36:12 (GMT + 1)
echo 'Timestamp: ' . time(); // Hasil: 1484663772 (GMT + 0)

date_default_timezone_set('UTC');
echo 'Date: ' . date('Y-m-d H:i:s'); // Hasil: 2017-01-17 14:36:12 (GMT + 0)
echo 'Timestamp: ' . time(); // Hasil: 1484663772 (GMT + 0)

Hasil:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772

Pada contoh diatas terlihat bahwa hasil dari fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
7 berubah setelah kita ubah timezone menjadi UTC (GMT + 0), namun timestamp yang dihasilkan fungsi
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5 selalu sama yaitu: 
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
9 (GMT + 0).

Fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5 ini bermanfaat untuk mendapatkan waktu kedepan atau kebelakang sejak waktu saat ini, misal:

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';

Hasil:

Waktu sekarang: 2017-01-17 15:48:34
1 menit kedepan: 2017-01-17 15:49:34
1 jam kedepan: 2017-01-17 16:48:34
1 hari kedepan: 2017-01-18 15:48:34
7 hari kedepan: 2017-01-24 15:48:34

Meskipun dapat mengkalkulasi waktu kedepan dan kebelakang, fungsi ini maksimal hanya dapat menghitung waktu dalam detik, tidak bisa menghitung 1 minggu kedepan atau 1 bulan kedepan. Untuk mengatasi hal tersebut, kita dapat menggunakan fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1.

III. Fungsi Mktime Pada PHP

Fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2 (singkatan: make time) pada PHP juga digunakan untuk mendapatkan waktu tertentu dengan format timestamp. Format penulisannya adalah:

mktime(hour, minute, second, month, day, year)

Biasanya, kita membaca argumen dari kiri kekanan. Nah, untuk fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2 agar memudahkan memahami argumen yang digunakan, maka argumen dibaca dari kiri ke kanan (untuk argumen time: H:i:s) dan kanan ke kiri (untuk argumen date: Y-d-m)

Penjelasan argumen:

  • Semua argumen bersifat opsional, nilai defaultnya adalah tanggal dan waktu hari ini:

    mktime(date('H'), date('i'), date('s'), date('n'), date('j'), date('Y'));

    Berikut ini akan menghasilkan nilai yang sama yaitu

    Waktu sekarang: 2017-01-17 15:48:34
    1 menit kedepan: 2017-01-17 15:49:34
    1 jam kedepan: 2017-01-17 16:48:34
    1 hari kedepan: 2017-01-18 15:48:34
    7 hari kedepan: 2017-01-24 15:48:34
    
    4

    <?php
    echo strtotime('now');
    echo mktime();
    echo time();

    Ketiganya akan menghasilkan timestamp yang sama, namun, sejak PHP versi 5.1, jika kita menjalankan fungsi

    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    2 tanpa argumen, akan muncul peringatan agar menggunakan fungsi
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    5

  • Semua argumen berbentuk integer.
  • Jika argumen bernilai nol atau negatif, maka menghasilkan waktu sebelumnya, misal:
  • <?php
    echo date('d-m-Y', mktime(0,0,0,1,1,2017)); // 01-01-2017
    echo date('d-m-Y', mktime(0,0,0,1,0,2017)); // 31-12-2016
    echo date('d-m-Y', mktime(0,0,0,1,-1,2017)); // 30-12-2016
  • Jika nilai argumen melebihi nilai maksimal, maka akan menghasilkan waktu setelahnya, misal:
  • <?php
    echo date('d-m-Y', mktime(0,0,0,1,32,2017)); // 01-02-2017
    echo date('d-m-Y', mktime(0,0,0,1,60,2017)); // 01-03-2017
    echo date('d-m-Y', mktime(0,0,0,2,29,2017)); // 01-13-2017
    echo date('d-m-Y', mktime(0,0,0,13,1,2017)); // 01-01-2018

Jika diperhatikan, fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2 ini mirip dengan fungsi
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5, bedanya,
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2 lebih fleksibel karena dapat menerima banyak argumen.

Contoh penggunaan fungsi mktime:

<?php
echo date('d-m-Y'); // 18-01-2017
echo date('d-m-Y', mktime( 0, 0, 0, date('n'), date('j') + 30, date('y'))); // 17-02-2017
echo date('d-m-Y', mktime( 0, 0, 0, date('n') - 1, date('j'), date('y'))); // 18-12-2017

III. Fungsi Strtotime Pada PHP

Fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1 (baca: string to time) pada PHP digunakan untuk menghasilkan waktu tertentu dengan format timestamp. Format penulisan fungsi
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1 adalah sebagai berikut:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
0

Penjelasan:

  • String disini mencerminkan tanggal baik berbentuk karakter tanggal (Date atau Time Format) maupun kata atau kalimat (dalam bahasa Inggris) yang merujuk pada waktu tertentu (Relative Format). Misal:
  • Date: 2017-01-17 15:36:12
    Timestamp: 1484663772
    
    Date: 2017-01-17 14:36:12
    Timestamp: 1484663772
    
    1
  • Argumen timestamp bersifat opsional, jika diisi, argumen ini akan menjadi acuan waktu. Perhatikan contoh berikut:
  • Date: 2017-01-17 15:36:12
    Timestamp: 1484663772
    
    Date: 2017-01-17 14:36:12
    Timestamp: 1484663772
    
    2

    Pada contoh diatas, fungsi strtotime menghasilkan timestamp waktu 1 hari setelah 28 Februari 2017, yaitu 01 Maret 2017. dari contoh diatas terlihat bahwa yang menjadi acuan adalah tanggal 2017-02-28

Argumen string dapat dikelompokkan menjadi dua yaitu Date Time format dan relative format.

1 Date Time format

Untuk string berbentuk date format, maka, penting diperhatikan ketika menggunakan separator, untuk separator slash (/), maka PHP akan membacanya dengan format

mktime(hour, minute, second, month, day, year)
2, misal:01/10/2017 atau 1/10/2017 yang artinya tanggal: 10 Januari 2017.

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
3

Bagi kita di Indonesia, maka perlu berhati hati, karena kita lazim menggunakan format

mktime(hour, minute, second, month, day, year)
3. Jika kita gunakan format tersebut, maka hasil yang diperoleh tidak sesuai dengan yang diharapkan.

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
4

Sedangkan untuk penggunaan dash (-), PHP akan membacanya dengan format

mktime(hour, minute, second, month, day, year)
4, Misal: 10-1-2017 atau 10-01-2017:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
5

Untuk mengatasi perbedaan diatas, disarankan untuk selalu menggunakan standar waktu ISO 8601 dengan format YYYY-MM-DD. Misal:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
6

sedangkan untuk time format, gunakan format H:i:s (jam:menit:detik), misal:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
7

2 Relative format

Relative format berupa kata atau kalimat dalam bahasa Inggris yang mencerminkan waktu tertentu, misal: “now”, “yesterday”, dll. Disamping itu, relative format ini juga dapat digabungkan dengan date time format, misal: “yesterday 18:21”

Relative format dapat berbentuk simbol dan day-based notation. Adapun untuk simbol adalah sebagai berikut:

DeskripsiKeteranganNama hari‘sunday’ | ‘monday’ | ‘tuesday’ | ‘wednesday’ | ‘thursday’ | ‘friday’ | ‘saturday’Nama hari (3 digit)‘sun’ | ‘mon’ | ‘tue’ | ‘wed’ | ‘thu’ | ‘fri’ | ‘sat’Urutan‘first’ | ‘second’ | ‘third’ | ‘fourth’ | ‘fifth’ | ‘sixth’ | ‘seventh’ | ‘eighth’ | ‘ninth’ | ‘tenth’ | ‘eleventh’ | ‘twelfth’Reltext‘last’ | ‘next’ | ‘previous’ | ‘this’Unit*‘year’ | ‘month’ | ‘day’ | ‘hour’ | ‘minute’ | ‘min’ | ‘second’ | ‘sec’

*) untuk Unit, jika jamak maka ditambahkan akhiran s, misal: 1 month, jamaknya: 2 months

Contoh:

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
8

Selain simbol, terdapat notasi berdasarkan hari (day-based notation), diantaranya:

FomatKeterangan‘today’ | ‘midnight’ | ‘yesterday’ | ‘tomorrow’Waktu akan berubah menjadi 00:00:00‘now’Menunjukkan waktu sekarang (diabaikan)‘first day of’Misal: ‘first day of next month’ atau ‘first day of may 2017’‘last day of’Misal: ‘last day of previous month’number [spasi] unit atau week.Misal: ‘1 day’ atau sama dengan ‘+1 day’, ‘-1 day’, ‘+5 weeks’‘ago’Misal: ‘2 days ago’, ‘2 months 1 day ago’, ‘1 hour ago’nama hariMenghasilkan hari berikutnya. Misal: jika hari ini Kamis, maka ‘monday’ akan menghasilkan senin berikutnyaReltext [spasi] nama hari [spasi] weekMisal: ‘Monday last month’ menghasilkan hari Senin terakhir pada bulan sekarang.

Penting diperhatikan bahwa semua format, baik simbol maupun day-based notation semua ditulis menggunakan huruf kecil dan bersifat case sensitive (membedakan huruf besar), sehingga, jika ‘last day of’ kita tulis dengan ‘Last day of’, maka, hasil yang diperoleh tidak sesuai yang diharapkan

Fungsi waktu diatas berguna untuk berbagai keperluan diantaranya untuk mengetahui hari terakhir suatu bulan, menghitung batas waktu suatu kegiatan, mencari popular post 24 jam terakhir, dll

Date: 2017-01-17 15:36:12
Timestamp: 1484663772

Date: 2017-01-17 14:36:12
Timestamp: 1484663772
9

Hasil:

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
0

IV. Kesimpulan

PHP menyediakan banyak sekali fungsi terkait waktu, tiga diantaranya adalah

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5,
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1, dan
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2, ketiganya memiliki kelebihan sendiri-sendiri dan dapat saling melengkapi.

Ketiga fungsi tersebut wajib dikuasai, sebagai acuan kapan menggunakannya, pertimbangkan hal berikut:

  • Fungsi
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    5 hanya memiliki satu output yaitu timestamp waktu sekarang dalam zona waktu GMT + 0. Manipulasi fungsi ini, hanya dapat dilakukan dalam satuan detik.
  • Fungsi
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    2 ini mirip sekali dengan
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    5, biasa jadi karena namanya yang juga mirip.
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    2 lebih fleksibel dari
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    5 karena memiliki banyak argumen, namun keleluasaan manipulasi waktu hanya terbatas pada unit waktu, yaitu, jam, menit, detik, bulan, hari, dan tahun.
  • Fungsi
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    1 paling fleksibel karena dapat menghitung waktu dengan acuan yang fleksibel misal: menghitung waktu satu bulan kedepan, hari terakhir suatu bulan, satu hari yang lalu, dll, dimana hal ini  sulit dilakukan oleh kedua fungsi lainnya.

    Selain itu, fungsi ini juga dapat menggantikan

    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    5, yaitu dengan memberikan argumen now:
    mktime(date('H'), date('i'), date('s'), date('n'), date('j'), date('Y'));
    5. Fungsi ini juga bisa menggantikan fungsi
    echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
    echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
    echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
    echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
    echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
    2, misal:
    mktime(date('H'), date('i'), date('s'), date('n'), date('j'), date('Y'));
    7 sama dengan 
    mktime(date('H'), date('i'), date('s'), date('n'), date('j'), date('Y'));
    8

Berdasarkan hal tersebut diatas, saran saya, selalu pertimbangkan penggunaan fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1, sebelum menggunakan fungsi lainnya.

Demikian pembahasan mengenai fungsi

echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
5,
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
2, dan
echo 'Waktu sekarang: ' . date('Y-m-d H:i:s') . '<br/>';
echo '1 menit kedepan: ' . date('Y-m-d H:i:s', time() + 60) . '<br/>';
echo '1 jam kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60)) . '<br/>';
echo '1 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24)) . '<br/>';
echo '7 hari kedepan: ' . date('Y-m-d H:i:s', time() + (60 * 60 * 24 * 7)) . '<br/>';
1 pada PHP, semoga bermanfaat.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.