Cara menggunakan php datetime get year

Hay Agan , ane nanya lagi :D gimana cara nampilin data "Datetime" yang ada di database . masalahnya itu date time keluar sama JAM nya . kalo ane echo pake PHP . please info buata ngatur Formatnya . thanks berat

avatar Saputroandhi

@Saputroandhi

509 Kontribusi 162 Poin

Dipost: 6 tahun yang lalu Update 2 tahun yang lalu

atau respon: Tidak Jelas Baca aturan main Kode tidak rapi Perbaiki Judul

Tulis Balasan


Jawaban Terpilih

waktu sekarang gan, kalo mau tambahin di parameter kedua jadi date(format, timestamp) , timestampnya gan bisa dipake dari database

Misalnya kita ingin mengetahui lima hari lagi itu tanggal berapa ya? mungkin sebagian dari kita akan menggunakan cara tanggal sekarang + 5, misalnya sekarang tgl 5 + 5 berarti tanggal 10. Tapi akan masalah jika sekarang tgl 30, kan tidak mungkin tanggal 35, hehehe.

Sebelum melanjutkan, apakah Anda sudah tau arti Y-m-d H:i:s atau d F Y? bagi yang belum tau saya sarankan untuk membaca Date Manual terlebih dahulu supaya tidak bingung nantinya.

# Memformat tanggal jam
Misalkan kita punya data tanggal seperti ini 2017-09-01 11:20:55 dan ingin menampilkan tanggal tersebut menjadi 01 september 2017, 11:20 maka kita cukup melakukan seperti ini:

<?php
$data = "2017-09-01 11:20:55";
echo date("d F Y, H:i", strtotime($data));
?>

Ketika menjalankan strtotime($data) yang terjadi adalah php akan mengubah tanggal tersebut menjadi format timestamp seperti ini 1504239655, setiap tanggal/waktu memiliki unix timestamp. Ketika data sudah berbentuk timestamp maka data tersebut menjadi fleksibel untuk ditampilkan dalam format apa saja.

# Menambah atau mengurangi tanggal
Misalkan kita akan mencari tahu tanggal berapakah 5 hari kedepan, caranya seperti ini:

<?php
$time_sekarang = time();
echo date("d F Y", strtotime("+5 days", $time_sekarang));
?>

Maka akan didapati tanggal yang benar untuk lima hari kedepan dari sekarang.

Untuk mendapatkan timestamp waktu sekarang caranya bisa memakai fungsi time() atau strtotime(“now”) atau juga strtotime(date(“Y-m-d H:i:s”)). Sedangkan +5 days ini maksutnya menambahkan waktu yang ada diparameter kedua sebanyak 5 hari.

Parameter pertama bisa min atau plus tergantung kita ingin mengurangi atau menambahkan, dan bisa days, month, years, hours, minutes, seconds.

# Membandingkan mana yang lebih dari atau kurang dari
Untuk membandingkan tanggal, caranya cukup ubah tanggal menjadi format timestamp kemudian bandingkan, contoh:

<?php
$tgl1 = "2017-10-10";
$tgl2 = "2017-10-11";
if (strtotime($tgl2) > strtotime($tgl1)) {
    echo "tgl 2 lebih dari tgl 1";
}
?>

Jadi format timestamp bisa digunakan untuk perbandingan.

Menggunakan DateTime

Selain menggunakan strtotime, alternatif lainnya adalah menggunakan DateTime, DateTime mulai diperkenalkan sejak versi 5.2, saat ini rata-rata versi php yang sering dipakai sudah lebih dari 5.3, jadi saya rasa tidak ada masalah dengan DateTime.

Berikut contoh penggunakan DateTime:

<?php
//Memformat tanggal jam
$date1 = "2017-09-01 11:20:55";
$date = new DateTime($date1);
echo $date->format("d F Y, H:i");

//Menambah tanggal
$date1 = "2017-08-30";
$date = new DateTime($date1);
$date_plus = $date->modify("+5 days");
echo $date_plus->format("Y-m-d");

//Mengurangi tanggal
$date_min = $date->modify("-3 month");
echo $date_min->format("Y-m-d");

//Membandingkan
$date1 = new DateTime("2017-08-04");
$date2 = new DateTime("2017-08-06");
if ($date2 > $date1) {
    echo "ok";
}

Contoh kasus lain yang lebih komplek:

# Mencari daftar tanggal yang ada diantara dua tanggal

<?php
$begin = new DateTime('2017-08-01');
$end = new DateTime('2017-08-05');
$end = $end->modify('+1 day'); 

$interval = new DateInterval('P1D'); //referensi : https://en.wikipedia.org/wiki/ISO_8601#Durations
$daterange = new DatePeriod($begin, $interval ,$end);

foreach ($daterange as $date) {
    echo $date->format("Y-m-d") . "<br>";
}

# Mencari selisih dua tanggal

$begin = new DateTime('2017-08-01 23:00');
$end = new DateTime('2017-08-05 21:22');
$diff = $begin->diff($end);
echo "Selisihnya adalah : " . $diff->format("%d hari %h jam %i menit");

Hal lain yang sering kita butuhkan saat berurusan dengan tanggal dan jam adalah validasi penulisan tanggal dan jam, karena sebelum data dimasukkan ke database yang fieldnya bertipe DATETIME, data harus divalidasi dulu supaya bener. Berikut # Validasi penulisan tanggal jam

<?php
function valid_datetime($datetime) {
	if (preg_match('/^(19[0-9]{2}|2[0-9]{3})-(0[1-9]|1[012])-([123]0|[012][1-9]|31) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/', $datetime)) {
		return true;
	}
	
	return false;
}

$tgl = "2017-08-29 23:20:59";
if (valid_datetime($tgl)) {
	echo "valid";
}
?>

Sekian posting kali ini, semoga Anda menemukan apa yang sedang dicari 🙂

Oh ya jangan lupa like FB page Dokumenary atau subscribe ya…

Terimakasih

Category: Uncategorized

Tags: cara membandingkan tanggal di php, cara menambah tanggal diphp, cara mencarai selisih dua tanggal, cara menggunakan datetime, cara menggunakan strtotime, cara mengurangi tanggal di php, memformat tanggal dan jam di php, operasi tanggal dan jam di php, validasi penulisan tanggal dan jam php, validasi tanggal jam diphp