Fungsi Tanggal() & Waktu PHP: Bagaimana Mendapatkan Stempel Waktu Saat Ini?

⚡ Ringkasan Cerdas

Fungsi `date()` PHP memformat stempel waktu menjadi tanggal dan waktu yang mudah dibaca manusia. Panduan ini menjelaskan sintaks tanggal, stempel waktu Unix, cara mencantumkan dan mengatur zona waktu, fungsi `mktime` untuk membuat stempel waktu, dan referensi lengkap karakter format waktu, hari, bulan, dan tahun.

  • 📅 Fungsi dari date(): Fungsi `date` mengubah stempel waktu menjadi string yang diformat menggunakan karakter seperti Y, m, dan d untuk tahun, bulan, dan hari.
  • ️ Stempel waktu Unix: Timestamp adalah jumlah detik sejak 1 Januari 1970 GMT, dan fungsi time() mengembalikan nilai saat ini.
  • 🌍 Zona waktu: `date_default_timezone_set` mengubah zona waktu aktif, dan `DateTimeZone::listIdentifiers` mencantumkan setiap zona yang didukung.
  • 🔧 mktime: Fungsi mktime membuat stempel waktu dari jam, menit, detik, bulan, hari, dan tahun tertentu.
  • 🔤 Karakter Format: Huruf tunggal mengontrol output, misalnya H untuk format waktu 24 jam, l untuk nama hari dalam seminggu, dan F untuk nama bulan.
  • 📐 Tabel Referensi: Tabel yang dikelompokkan mencantumkan karakter format waktu, hari, bulan, dan tahun beserta contoh yang dapat dijalankan untuk masing-masing karakter.
  • 🤖 Bantuan AI: Alat AI dapat menghasilkan format tanggal dan kode perbedaan serta membantu menyelesaikan masalah zona waktu yang membingungkan.

Tanggal PHP () Fungsi

Tanggal PHP () Fungsi

Fungsi `date` PHP adalah fungsi bawaan yang menyederhanakan pekerjaan dengan tipe data tanggal. Fungsi `date` PHP digunakan untuk memformat tanggal atau waktu ke dalam format yang mudah dibaca manusia. Fungsi ini dapat digunakan untuk menampilkan tanggal publikasi artikel atau mencatat kapan data dalam basis data terakhir diperbarui.

Sintaks & Contoh Tanggal PHP

Fungsi `date()` di PHP memiliki sintaks dasar sebagai berikut.

<?php
date(format,[timestamp]);
?>

SINI,

  • “date(…)” adalah fungsi yang mengembalikan stempel waktu saat ini yang diformat dalam PHP di server.
  • “Format” adalah format umum yang kita inginkan untuk output kita, misalnya:
    • “Ymd” untuk format tanggal PHP YYYY-MM-DD
    • “Y” untuk menampilkan tahun berjalan
  • “[timestamp]” bersifat opsional. Jika tidak ada stempel waktu yang diberikan, PHP akan menggunakan tanggal dan waktu saat ini di server.

Mari kita lihat contoh sederhana yang menampilkan tahun saat ini.

<?php

echo date("Y");

?>

Keluaran:

2026

Apa itu Stempel Waktu?

Timestamp di PHP adalah nilai numerik dalam detik antara waktu saat ini dan nilai pada 1st Januari 1970 00:00:00 Waktu Greenwich (GMT).

Nilai yang dikembalikan oleh fungsi waktu bergantung pada zona waktu default.

Zona waktu default diatur dalam file php.ini. Zona waktu juga dapat diatur secara terprogram menggunakan fungsi date_default_timezone_set.

Kode di bawah ini menampilkan stempel waktu saat ini.

<?php

echo time();

?>

Dengan asumsi Anda telah menyimpan file timestamp.php di folder phptuts, telusuri ke URL http://localhost/phptuts/timestamp.php

Timestamp

Catatan: nilai stempel waktu bukanlah nilai tetap. Nilainya berubah setiap detik.

Mendapatkan daftar pengidentifikasi zona waktu yang tersedia

Sebelum kita melihat cara mengatur zona waktu default secara terprogram, mari kita lihat cara mendapatkan daftar zona waktu yang didukung.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

SINI,

  • “$timezone_identifiers = DateTimeZone::listIdentifiers();” memanggil metode statis listIdentifiers dari kelas bawaan DateTimeZone. Metode listIdentifiers mengembalikan daftar pengidentifikasi yang ditetapkan ke variabel $timezone_identifiers.
  • “foreach{…}” mengulang melalui array dan mencetak nilainya.

Dengan asumsi Anda telah menyimpan file list_time_zones.php di folder phptuts, telusuri ke URL http://localhost/phptuts/list_time_zones.php

Pengidentifikasi Zona Waktu

PHP mengatur Zona Waktu Secara Terprogram

Fungsi date_default_timezone_set memungkinkan Anda mengatur zona waktu default dari skrip PHP.

Zona waktu yang telah ditetapkan kemudian akan digunakan oleh semua tanggal. Fungsi PHP dalam skrip Anda. Sintaksnya adalah sebagai berikut.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

SINI,

  • “date_default_timezone_set()” adalah fungsi yang menetapkan zona waktu default
  • “string $timezone_identifier” adalah pengidentifikasi zona waktu

Skrip di bawah ini menampilkan waktu sesuai dengan zona waktu default yang diatur di php.ini. Kemudian mengubah zona waktu default menjadi Asia/Calcutta dan menampilkan waktu lagi.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Dengan asumsi Anda telah menyimpan file set_time_zone.php di folder phptuts, buka folder tersebut. URL http://localhost/phptuts/set_time_zone.php

PHP mengatur Zona Waktu Secara Terprogram

Fungsi PHP Mktime

Fungsi mktime mengembalikan stempel waktu dalam a Unix Format.

Ia memiliki sintaksis sebagai berikut.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

SINI,

  • “mktime(…)” adalah fungsi stempel waktu pembuatan PHP
  • “Jam” bersifat opsional; ini adalah angka pada jam tersebut.
  • “Menit” bersifat opsional; ini adalah jumlah menit.
  • “detik” bersifat opsional; ini adalah jumlah detik.
  • “Bulan” bersifat opsional; itu adalah nomor bulan.
  • “Hari” bersifat opsional; itu adalah nomor hari tersebut.
  • “Tahun” bersifat opsional; itu adalah nomor tahun.
  • “is_dst” bersifat opsional; digunakan untuk menentukan waktu musim panas (daylight saving time/DST). 1 berarti DST berlaku, 0 jika tidak, dan -1 jika tidak diketahui.

Sekarang mari kita lihat contoh yang membuat stempel waktu untuk tanggal 13/10/2025 menggunakan fungsi mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

SINI,

  • “0,0,0” adalah jam, menit, dan detik secara berurutan.
  • “10” adalah bulan dalam setahun
  • “13” adalah hari dalam sebulan
  • “2025” adalah tahunnya

Keluaran:

1760328000

Referensi Format Tanggal PHP

Tabel di bawah ini menunjukkan karakter format umum yang digunakan saat bekerja dengan fungsi tanggal PHP.

Parameter waktu

Parameter Deskripsi Example
"R" Mengembalikan tanggal dan waktu penuh
<?php
echo date("r");
?>
"A A" Mengembalikan apakah waktu saat ini adalah am atau pm, AM atau PM
<?php
echo date("a");
echo date("A");
?>
“g”, “G” Mengembalikan jam tanpa angka nol di depannya [1 hingga 12], [0 hingga 23] masing-masing
<?php
echo date("g");
echo date("G");
?>
“h”, “H” Mengembalikan jam dengan angka nol di depan [01 sampai 12], [00 sampai 23] secara berturut-turut
<?php
echo date("h");
echo date("H");
?>
"adalah" Mengembalikan menit/detik dengan angka nol di depan [00 hingga 59]
<?php
echo date("i");
echo date("s");
?>

Parameter hari

Parameter Deskripsi Example
"D" Mengembalikan hari dalam sebulan dengan angka nol di depan [01 hingga 31]
<?php
echo date("d");
?>
"J" Mengembalikan hari dalam sebulan tanpa angka nol di depannya [1 hingga 31]
<?php
echo date("j");
?>
"D" Mengembalikan 3 huruf pertama dari nama hari [Minggu hingga Sabtu]
<?php
echo date("D");
?>
"L" Mengembalikan nama hari dalam seminggu [Minggu hingga Sabtu]
<?php
echo date("l");
?>
"w" Mengembalikan hari dalam seminggu tanpa angka nol di depan [0 sampai 6]; Minggu diwakili oleh angka nol (0) hingga Sabtu diwakili oleh angka enam (6)
<?php
echo date("w");
?>
"z" Mengembalikan hari dalam setahun tanpa spasi di depan [0 hingga 365]
<?php
echo date("z");
?>

Parameter Bulan

Parameter Deskripsi Example
"M" Mengembalikan nomor bulan dengan angka nol di depan [01 hingga 12]
<?php
echo date("m");
?>
“N” Mengembalikan nomor bulan tanpa angka nol di depan [1 hingga 12]
<?php
echo date("n");
?>
"M" Mengembalikan 3 huruf pertama pada nama bulan [Jan hingga Des]
<?php
echo date("M");
?>
"F" Mengembalikan nama bulan [Januari hingga Desember]
<?php
echo date("F");
?>
"T" Mengembalikan jumlah hari dalam sebulan [28 hingga 31]
<?php
echo date("t");
?>

Parameter Tahun

Parameter Deskripsi Example
"L" Mengembalikan nilai 1 jika tahun tersebut adalah tahun kabisat dan 0 jika bukan tahun kabisat.
<?php
echo date("L");
?>
"Y" Mengembalikan format tahun empat digit.
<?php
echo date("Y");
?>
"Y" Mengembalikan format tahun dua digit (00 hingga 99)
<?php
echo date("y");
?>

Pertanyaan Umum Demo Slot

`date()` adalah fungsi prosedural sederhana yang memformat stempel waktu. Kelas `DateTime` berorientasi objek dan mendukung aritmatika, perbandingan, zona waktu, dan immutabilitas, sehingga lebih baik untuk logika tanggal yang kompleks dalam aplikasi yang lebih besar.

Gunakan strtotime(), yang membaca format seperti '2025-10-13' atau 'next'. Monday' dan mengembalikan stempel waktu Unix. Untuk penguraian ketat dari format yang dikenal, DateTime::createFromFormat lebih aman karena akan gagal secara jelas jika input tidak valid.

Buat dua objek DateTime dan panggil diff(), yang akan mengembalikan DateInterval. Anda kemudian dapat membaca hari, bulan, atau tahun, misalnya $start->diff($end)->days untuk mendapatkan jumlah total hari di antara tanggal tersebut.

Ya. Jelaskan format input dan outputnya, dan AI dapat menghasilkan kode date(), DateTime, atau strtotime, termasuk menambahkan interval atau mengkonversi zona waktu. Uji dengan kasus-kasus khusus seperti tahun kabisat dan akhir bulan.

Ya. AI dapat mendeteksi panggilan date_default_timezone_set yang hilang, ketidaksesuaian zona waktu server dan tampilan, atau masalah penghematan waktu siang hari, kemudian merekomendasikan penggunaan DateTime dengan zona waktu eksplisit untuk membuat perilakunya dapat diprediksi.

Ringkaslah postingan ini dengan: