Home Web PHP Different date time in php

Different date time in php

0
Different date time in php

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Pada materi ini akan dijelaskan bagaimana membuat selisih waktu pada bahasa pemrograman php

Materi ini akan kita gunakan seperti dalam kasus ketika kita membuat status maka akan muncul seperti 2 seconds ago di status yang kita buat tadi.

Seperti saya tetapkan di waktu berita di upload adalah tahun:2020 bulan:11 tanggal:29 jam:21 menit:21 detik:58 dan saat user melihat berita adalah tahun:2020 bulan:11 tanggal:24 jam:21 menit:21 detik:58. Cukup rumit bukan untuk menghitung secara manual sehingga diterapkan lah materi ini pada program kita. Semoga bermanfaat ….

1. Buat file php didalam htdocs dan beri nama jam.php

2. Deklarasi waktu yang ingin di uji

<?php
$date1 = strtotime("2020-11-29 21:21:58");
//date 1 adalah waktu sekarang atau jika anda ingin realtime
// atau sesuai waktu saat program di run $date1 = time();
$date2 = strtotime("2020-11-24 21:21:58");
// date 2 adalah waktu yang ingin di uji
?>

3. Buat rumus untuk mendapatkan selisih perbedaanya

<?php
$subTime = $date1 - $date2;
// variabel $subTime untuk menyimpan selisih waktu namun 
//belum spesifik sehingga codingan di bawah inilah yang 
//digunakan

$y = ($subTime/(60*60*24*365)%12);
// variabel $y untuk menyimpan hasil dari selisih tahun

$mo =($subTime/(60*60*24*30)%365);
// variabel $mo untuk menyimpan hasil dari selisih bulan

$d = ($subTime/(60*60*24))%365;
// variabel $y untuk menyimpan hasil dari selisih hari

$h = ($subTime/(60*60))%24;
// variabel $y untuk menyimpan hasil dari selisih jam

$m = ($subTime/60)%60;
// variabel $y untuk menyimpan hasil dari selisih menit

$s = ($subTime)%60;?>
// variabel $y untuk menyimpan hasil dari selisih detik

4. Buat kondisi untuk setiap waktunya

<?php
if ($y >= 1 ){ 
// jika $y yang ditugaskan untuk menyimpan selisih tahun
// menghasilkan inputan 1 atau lebih maka program 
// akan menjalankan kondisi ini
    $tanggal = $y. " years ago";
    echo $tanggal;
}

else if ($mo >= 1){
// atau jika $mo yg ditugaskan untuk menyimpan selisih bulan
// menghasilkan inputan 1 atau lebih maka program 
// akan menjalankan kondisi ini
    $tanggal = $mo. " months ago";
    echo $tanggal;
}

else if ($d >= 1){
// atau jika $d yg ditugaskan untuk menyimpan selisih hari
// menghasilkan inputan 1 atau lebih maka program 
// akan menjalankan kondisi ini
    $tanggal = $d. " days ago";
    echo $tanggal;
}

else if ($h >= 1){
// atau jika $h yg ditugaskan untuk menyimpan selisih jam
// menghasilkan inputan 1 atau lebih maka program 
// akan menjalankan kondisi ini
    $tanggal = $h. " hours ago";
   echo $tanggal;
}

else if ($m >= 1){
// atau jika $m yg ditugaskan untuk menyimpan selisih menit
// menghasilkan inputan 1 atau lebih maka program 
// akan menjalankan kondisi ini
    $tanggal = $m. " minutes ago";
   echo $tanggal;
}

 else {
// jika semua kondisi diatas tidak terpenuhi makan program 
// akan menjalankan kondisi ini
    $tanggal = $s. " seconds ago";
    echo $tanggal;
}
?>

5. Sehingga seluruh kode akan menjadi seperi ini

<?php


$date1 = strtotime("2020-11-29 21:21:58");
$date2 = strtotime("2020-11-24 21:21:58");
$subTime = $date1 - $date2;
$y = ($subTime/(60*60*24*365)%12);
$mo =($subTime/(60*60*24*30)%365);
$d = ($subTime/(60*60*24))%365;
$h = ($subTime/(60*60))%24;
$m = ($subTime/60)%60;
$s = ($subTime)%60;


if ($y >= 1 ){
    $tanggal = $y. " years ago";
    echo $tanggal;
}
else if ($mo >= 1){
    $tanggal = $mo. " months ago";
    echo $tanggal;
}else if ($d >= 1){
    $tanggal = $d. " days ago";
    echo $tanggal;
}else if ($h >= 1){
    $tanggal = $h. " hours ago";
   echo $tanggal;
}else if ($m >= 1){
    $tanggal = $m. " minutes ago";
   echo $tanggal;
}
 else {
    $tanggal = $s. " seconds ago";
    echo $tanggal;
}
?>

6. Berikut output dari program ini