Penggunaan fungsi UTCTIMESTAMP pada PHP

As @Petah said in the comments, store your times in UTC and covert them in the application as needed.

Unix timestamps are in UTC so I usually store my times in the database as timestamps. This saves the headache and confusion of first converting to UTC to insert, and then from UTC when selecting.

That is, make your time field an INT type, and use the function UNIX_TIMESTAMP() in MySQL when you insert, or get the timestamp from PHP using the time() function.

When you fetch the timestamp from the DB it will be in UTC, but when you display it in your PHP application using date(), it will display in the server timezone, or whatever you set with date_default_timezone_set.

Therefore the following two queries will work:

INSERT INTO `table` (id, time) VALUES(NULL, UNIX_TIMESTAMP());

// or

$time = time();

$query = "INSERT INTO `table` (id, time) VALUES(NULL, $time);

If you want to select it from the DB as a DATETIME, you can do this:

SELECT *, FROM_UNIXTIME(time) as dt FROM `table` WHERE 1

The resulting dt column will be in the format yyyy-MM-dd hh:mm:ss.

You can format the numeric timestamp in PHP using date()

If the PHP version you have is 64-bit, you aren't limited to the 1970 - 2036 range, PHP will support 64-bit timestamps, just make sure to use a BIGINT column in MySQL in that case.

Hope that helps.

Penggunaan fungsi UTCTIMESTAMP pada PHP


Halo Sahabat Setia Belajar Pintar PHP, kali ini saya akan share kepada anda semua sebuah tutorial php mengenai fungsi tanggal dan waktu beserta cara penggunaannya pada php. Oke tanpa banyak ceramah nih, langsung saja yuk kita bahas satu persatu dibawah ini.

Fungsi date pada PHP

Fungsi ini dugunakan untuk menampilkan format tanggal dan waktu lokal sesuai dengan tanggal sistem komputer anda.

Sintaks PHP :

date ( string $format [, int $timestamp ] )

Parameter :
$format, adalah format-format tanggal dan waktu yang ingin ditampilkan, berikut adalah format-format untuk tanggal dan waktu pada PHP :

format karakter

Deskripsi

Contoh Hasil

Hari/Tanggal

d Tanggal dua digit dalam 1 bulan, jika 1 digit ada nol didepannya 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 2013
y tahun 2 digit Contoh: 99 atau 13

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 2013 16:01:07 +0200

$timestamp, timestamp Unix (integer)
Contoh Penggunaanya :

<?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;
?>
 

Fungsi getdate pada PHP

Fungsi ini dugunakan untuk mendapatkan informasi tanggal/waktu, hasilnya dalam bentuk array

Sintaks PHP:

getdate ([ int $timestamp= time() ] )

Parameter :
$timestamp, adalah timestamp UNIX (integer), jika dikosongkan akan mengambil waktu saat ini.

Contoh penggunaanya :

<?php
$today = getdate();
print_r($today);
?>

Hasilnya jika dijalankan pada browser adalah :

Array
(
    [seconds] => 11
    [minutes] => 25
    [hours] => 21
    [mday] => 29
    [wday] => 5
    [mon] => 10
    [year] => 2010
    [yday] => 301
    [weekday] => Friday
    [month] => October
    [0] => 1288358711
)

Fungsi mktime pada PHP

Fungsi ini digunakan untuk mendapatkan timestamp Unix untuk suatu tanggal

Sintaks PHP :

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 Penggunaanya :

<?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 kedua penggunaanya :

<?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>";
?>

Fungsi strtotime pada PHP

Fungsi ini digunakan untuk mengubah string tanggal/waktu (bahasa inggris) ke timestamp Unix.

Sintaks PHP :

strtotime ( string $time [, int $now ] )

Contoh penggunaannya :

<?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";
?>

Fungsi time pada PHP

Fungsi ini digunakan untuk menghasilkan timestamp Unix saat ini

Sintaks PHP :

Contoh penggunaannya:

<?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 jika dijalankan pada browser adalah :

Sekarang: 2010-10-29
Minggu Depan: 2010-11-05
Minggu Depan: 2010-11-05 

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";
?>

Sekian Tutorial tentang fungsi tanggal atau date pada PHP kali ini, semoga bermanfaat dan jangan lupa share dan komentarnya sebagai bentuk penghargaan anda terhadap ilmu yang saya bagikan kepada anda, Terimakasih.



Penggunaan fungsi UTCTIMESTAMP pada PHP

Tutorial terkait dengan Fungsi Tanggal dan Waktu (Date/Time) pada PHP :

Terimakasih Atas Kunjungan Sahabat Setia Belajar Pintar PHP

Judul Pelajaran PHP : Fungsi Tanggal dan Waktu (Date/Time) pada PHP
Ditulis oleh Ivan Silalahi
Rating postingan ini 5 dari 5

Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke https://planetsphp.blogspot.com/2013/02/fungsi-tanggal-dan-waktu-datetime-pada.html. Terima kasih sudah singgah membaca artikel ini. Jangan lupa like dan sharenya serta komentarnya

Apa itu timestamp pada PHP?

Timestamp adalah jarak waktu dari tanggal 1 Januari 1970 pukul 00:00 ke tanggal sekarang dan waktu sekarang. Jarak tersebut didefinisikan dalam satuan detik. Untuk mengetahui timestamp dari waktu sekarang, anda bisa menggunakan fungsi time() .

Strtotime untuk apa?

Strtotime merupakan fungsi yang disediakan oleh php yang menurut saya syuper sekali fungsi ini, karena dengan satu fungsi ini kita bisa menyelesaikan beberapa masalah yang berkaitan dengan tanggal dan jam. Misalnya kita ingin mengetahui lima hari lagi itu tanggal berapa ya?