Menghitung Selisih Waktu Dengan PHP – Cara Termudah

Pada kesempatan kali ini kita akan membahas bagaimana cara menghitung selisih waktu dengan PHP.

Pada PHP, terdapat banyak cara untuk menghitung selisih tanggal dan waktu, kali ini kita akan membahas beberapa cara mulai dari yang paling mudah hingga yang paling rumit.

I. Menghitung Selisih Waktu Dengan PHP – Dengan Fungsi date_diff – Cara Paling Mudah

Cara termudah menghitung selisih waktu dengan PHP adalah menggunakan fungsi date_diff(), fungsi ini mulai ada pada PHP versi 5.3.0. adapun format penulisannya adalah:

date_diff($datetime1, $datetime2)

contoh:

<?php
$awal  = date_create('1988-08-10');
$akhir = date_create(); // waktu sekarang
$diff  = date_diff( $awal, $akhir );

echo 'Selisih waktu: '
echo $diff->y . ' tahun, ';
echo $diff->m . ' bulan, ';
echo $diff->d . ' hari, ';
echo $diff->h . ' jam, ';
echo $diff->i . ' menit, ';
echo $diff->s . ' detik, ';
// Output: Selisih waktu: 28 tahun, 5 bulan, 9 hari, 13 jam, 7 menit, 7 detik

echo 'Total selisih hari : ' . $diff->days;
// Output: Total selisih hari: 10398

Penjelasan:

  • Argumen, yaitu $datetime1 dan $datetime2 harus berupa objek DateInterval, objek ini dibuat menggunakan fungsi date_create()
  • Argumen tidak harus urut dari yang kecil, kita dapat membalik urutan dengan menempatkan tanggal besar di argumen pertama dan tanggal kecil di argumen kedua, hasilnya sama saja.
  • $diff  = date_diff( $akhir, $awal );
  • Hasil dari fungsi date_diff() adalah objek DateInterval, yang memiliki berbagai property yang dapat digunakan untuk mengakses tanggal, misal property d yang bernilai jumlah selisih hari. Pada contoh diatas, untuk melihat semua property jalankan statemen echo <pre>; print_r($diff)

Format Output

Objek DateInterval dari fungsi date_diff() juga memiliki method format yang dapat digunakan untuk  menghasilkan output dengan format tertentu, misal:

<?php
$diff  = date_diff( date_create('1988-08-10'), date_create() );
echo $diff->format('Usia anda adalah %Y tahun %d hari'); // Usia anda adalah 29 tahun 9 hari.

Penjelasan:

  • Agar karakter diterjemahkan menjadi waktu, maka awali dengan tanda persen (%) pada contoh diatas %Y dan %d
  • Tahun:  Y untuk 4 digit tahun, dan y untuk 2 digit tahun.
  • Bulan:  M untuk 2 digit bulan, dan m untuk 1  digit bulan.
  • Tanggal: D untuk 2 digit tanggal, dan d untuk 1  digit tanggal.
  • Hari: a untuk total beda waktu dalam hari. Misal:
  • $diff  = date_diff( date_create('1988-08-10'), date_create() );
    echo $diff->format('Usia anda adalah %a hari'); // Usia anda adalah 10389 hari.
  • Jam: H  untuk 2 digit jam, dan h  untuk  1 digit jam.
  • Menit: I untuk 2  digit menit, dan i  untuk  1 digit menit.
  • Detik: S  untuk 2  digit detik, dan s  untuk  1 digit detik.

Fungsi untuk menghitung beda waktu

Setelah kita memahami cara termudah untuk menghitung selisih waktu, maka untuk lebih memudahkan lagi dengan tanpa menulis kode berulang kali, maka kode tersebut dapat kita letakkan dalam sebuah fungsi:

function beda_waktu($date1, $date2, $format = false) 
{
	$diff = date_diff( date_create($date1), date_create($date2) );
	if ($format)
		return $diff->format($format);
	
	return array('y' => $diff->y,
				'm' => $diff->m,
				'd' => $diff->d,
				'h' => $diff->h,
				'i' => $diff->i,
				's' => $diff->s
			);
}

Contoh penggunaan:

echo beda_waktu('1988-08-10', date('Y-m-d'), 'Selisih %y tahun'); // Output: Selisih 28 tahun;

$diff = beda_waktu('1988-08-10', date('Y-m-d'));
echo 'Selisih: ' . $diff['y']  . ' tahun'; // Output: Selisih 28 tahun

II. Menghitung Selisih Waktu Dengan PHP –  Dengan Objek DateTime

Jika sebelumnya kita menghitung beda waktu dengan model procedural style, yaitu menggunakan fungsi date_diff(), kali ini, kita akan menggunakan model Object Oriented dengan menggunakan objek DateTime.

Sama seperti fungsi date_diff(), objek DateTime mulai ada pada PHP versi 5.3.0

Contoh penggunaan:

<?php
$awal  = new DateTime('1988-08-10');
$akhir = new DateTime(); // Waktu sekarang
$diff  = $awal->diff($akhir);

echo 'Selisih waktu: ';
echo $diff->y . ' tahun, ';
echo $diff->m . ' bulan, ';
echo $diff->d . ' hari, ';
echo $diff->h . ' jam, ';
echo $diff->i . ' menit, ';
echo $diff->s . ' detik, ';

// Output: Selisih waktu: 28 tahun, 5 bulan, 9 hari, 13 jam, 7 menit, 7 detik

Jika diperhatikan, cara penggunaan dan output yang dihasilkan mirip dengan model procedural style, ya karena sebenarnya fungsi date_diff() merupakan alias dari DateTime::diff() — objek DateTime dengan method diff() —

Sama seperti date_diff(), objek DateTime juga memiliki method format yang digunakan untuk menghasilkan format tertentu, disamping itu, karakter date yang digunakan juga sama:

<?php
$awal  = new DateTime('1988-08-10');
$akhir = new DateTime(); // Waktu sekarang
$diff  = $awal->diff($akhir);
echo $diff->format('Usia anda adalah %Y tahun %d hari'); // Usia anda adalah 29 tahun 9 hari.

III. Menghitung Selisih Waktu Dengan PHP –  Dengan Fungsi Strtotime

Sebelum php 5.3.0, untuk menghitung selisih tanggal dan waktu pada PHP, kita menggunakan fungsi strtotime(), meskipun terlihat jadul, fungsi ini tetap powerfull. Contoh penggunaannya adalah:

<?php
$awal  = strtotime('1988-08-10');
$akhir = time(); // Waktu sekarang
$diff  = $akhir - $awal;
echo 'Usia anda adalah ' . floor($diff / (60 * 60 * 24 * 365)) . ' tahun';
echo 'Usia anda adalah ' . floor($diff / (60 * 60 * 24)) . ' hari';

Pada contoh diatas, fungsi strtotime() akan menghasilkan waktu dalam format timestamp. Timestamp adalah format waktu berupa detik yang dihitung sejak epoch time (1970-01-01 00:00:00), sehingga timestamp 1 berarti 1 detik sejak epoch time.

Karena strtotime berupa detik, maka untuk menghitung selisih waktu, kita juga harus melakukan pembagian dengan detik, pada contoh diatas, untuk menghitung hari, kita gunakan perkalian detik, menit, dan jam (60 x 60 x 24).

Meskipun cara ini lebih ribet dibanding kedua cara sebelumnya, cara ini memiliki beberapa kelebihan, yaitu dapat menghitung selisih berdasarkan jam, menit, detik dengan lebih mudah, contoh:

<?php
$awal  = strtotime('2017-08-10 10:05:25');
$akhir = strtotime('2017-08-11 11:07:33');
$diff  = $akhir - $awal;

$jam   = floor($diff / (60 * 60));
$menit = $diff - ( $jam * (60 * 60) );
$detik = $diff % 60;

echo 'Waktu tinggal: ' . $jam .  ' jam, ' . floor( $menit / 60 ) . ' menit, ' . $detik . ' detik';

Perhitungan diatas akan lebih susah jika menggunakan fungsi date_diff() atau objek DateTime

Lebih jauh tentang fungsi time() dan strtotime() dapat dibaca pada artikel:  Memahami Fungsi Time, Strtotime, dan Mktime Pada PHP – Memanipulasi Waktu

IV. Timezone

Ketika kita bekerja dengan tanggal, jangan lupa untuk selalu menyesuaikan timezone tau zona waktu. Karena pasti ada selisih ketika kita menghitung waktu sekarang.

Hal ini disebabkan secara default php akan menggunakan zona waktu  Eropa atau Amerika  dengan selisih waktu lebih dari 5 jam.

Untuk mengubah zona waktu dapat menggunakan fungsi date_default_timezone_set(), misal:

<?php
$awal  = date_create('2017-01-20 01:05:25');
$akhir = date_create(); // waktu sekarang, pukul 06:13
$diff  = date_diff( $akhir, $awal );
echo $diff->h; // Hasil: 0

date_default_timezone_set('Asia/Jakarta');
$awal  = date_create('2017-01-20 01:05:25');
$akhir = date_create(); // waktu sekarang, pukul 06:13
$diff  = date_diff( $akhir, $awal );
echo $diff->h; // Hasil: 5

Dari contoh diatas terlihat bahwa terdapat selisih waktu antara sebelum dan sesudah pengaturan zona waktu.

Lebih jauh tentang timezone dapat dibaca pada artikel:  Memahami Zona Waktu (Timezone) dan Selisih Waktu Pada PHP

IV.  Penutup

Setidaknya terdapat tiga cara menghitung selisih waktu pada php, yaitu menggunakan fungsi date_diff(), objek DateTime, dan fungsi strtotime()

Pertimbangkan untuk terlebih dahulu menggunakan fungsi date_diff()  atau objek DateTime, karena keduanya jauh lebih mudah dibanding menggunakan fungsi strtotime().

Namun demikian, untuk kasus tertentu, lebih mudah menggunakan fungsi strtotime()  dibanding kedua cara lainnya.

Demikian pembahasan mengenai cara menghitung selisih tanggal dan waktu 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.

77 Feedback dari pembaca

  • gan, gimana caranya menghitung total jam kerja (dalam sehari) dimana 1 pegawai dapat melakukan banyak presensi sehingga yang dihitung itu jam masuk pertama + jam keluar pertama, jam masuk kedua + jam keluar ketiga dst ? kemudian hasil penjumlahan tersebut diakumulasi (menjadi total jam kerja dalam sehari) ? terimakasih, mohon bantuannya.

    • Coba menggunakan array mas, kemudian disamakan indexnya antara jam masuk dan jam keluar, misal:
      $jam_masuk = array( 0 => ‘07.30’, 1 => ’07:35′, 2 => ’07:40′);
      $jam_pulang = array( 0 => ‘17.00’, 1 => ’17:05′, 2 => ’17:10′);

      Selanjutnya tinggal disandingkan: $jam_masuk [1] berarti dengan $jam_pulang[1]

  • Gan, gimana caranya membuat waktu penjadwalan supaya tidak bentrok misal: ketika jam 08:00-10:00 telah diambil oleh Dosen A maka Dosen B tidak bisa mengambil pada waktu tersebut?
    Mohon bantuannya, terimakasih.

    • Jika seperti itu berarti perlu tempat untuk menyimpan data jam yang telaah diaambil mas, misal bisa di database, atau di variable PHP jika hanya sementara, bisa dengan array:

      $waktu_diambil = array ('dosen_a' => array('08:00', '10:00'))

      Selanjutnya jika ada yang mengambil waktu, tinggal di cek di array tersebut, apakah sudah diambil dosen lain

      • Terimakasih udah jawab:
        saya menngunakan penyimpanan ke database mas, strukturnya kurang lebih: dosen, hari, jam awal, jam akhir, ruangan.

        Ketika dosen A jam_awal 08:00, jam_akhir 09:00 sudah tersimpan, dan ketika dosen B ambil jam_awal 08:30, jam_akhir 09:00 maka masih tersimpan, padahal seharusnya gk bisa kan masih bentrok mas. Saat dosen B ambil jam 08:00 baru gak bisa mas karena metode yg digunakan adalah duplikat data (kalo data sama maka gagal simpan jika tidak maka tersimpan).

        gimana solusinya mas?

        • Itu tidak bisa pakai duplikat data mas, karena constrainnya bukan unique melainkan rentan waktu… Satu satunya cara adalah melakukan pengecekan sebelum data dimasukkan, apakah memenuhi kriteria yang ditentukan…

          Dari sisi database bisa menggunakan stored procedure, atau dari sisi aplikasi bisa di buat script untuk melakukan pengecekan, jika rentang waktu tersebut sudah digunakan, tolak inputan…

  • Pa untuk contoh hitungan parkir ada ngga.. jam masuk dan keluar dan jenis kendaraan yg berbeda harga..makasih

  • min, mat tanya dan butuh jawaban cepat. misal kita ingin melooping suatu tanggal diantar dua bulan yang berbeda gimana ya min, misal $tgl1=”2018-03-26″; $tgl2=”2018-04-01″; for ($t=$tgl1;$t<=$tgl2;$tgl++)

    itu jika dijalankan akan gagal min, gimana solusinya ya min

  • pak bagaimana jika menghitung kenaikan gaji karyawan per tahun naik
    berdasar dari tanggal masuk yang sdh di inputkan di databse : gaji, tabel : identitas, kolom tgl_masuk
    jadi, ketika gaji di input hari ini dan terdeteksi karyawan tesebut telah 1 tahun bekerja maka terjadi kenaikan gaji
    terimakasih

    • Kenaikan gajinya mau diupdate di database atau hanya untuk tampilan saja mbak? kalau untuk tamplilan saja, bisa pakai SELECT IF dengan interval, misal:

      SELECT IF(NOW() > tgl_masuk + interval 1 YEAR, "GAJI NAIK", "GAJI TETAP") 
      FROM identitas
  • Pak bagaimana caranya untuk menampilkan data tagihan dari penjualan kredit yang tanggal jatuh temponya 3 hari lagi. Misal : tanggal sekarang 2018-05-15
    Tanggal jatuh tempo 2018-05-18. Querynya seperti apa mas? Makasih

  • 19 April 2018 at 14:57
    pak bagaimana menampilkan kenaikan gaji karyawan berdasar dari tanggal masuk yang sdh di inputkan di databse : gaji, tabel : identitas, kolom tgl_masuk, jadi ketika terdeteksi karyawan tesebut telah 2 tahun bekerja maka terjadi kenaikan gaji, tetapi yang ditampilkan hanya yang naik gaji saja dan sebelum 30 hari dari jatuh tempo kenaikan sudah diingatkan

    terimakasih

    • Bisa dilakukan baik di SQL-nya maupuan di PHP nya mas, untuk di SQL nya, bisa menggunakan selisih waktu sekarang (dengan fungsi NOW()) dan kolom tanggal, jika sudah 2 tahun, tambahkan kenaikan gaji. Atau di PHP-nya, ambil data kolom kemudian gunakan fungsi beda tanggal untuk menghitung apakah masa kerja sudah lebih dari 2 tahun

  • pak bagaimna cara menghitung denda menggunakan tanggal gmna ya ? setiap telat pengembalian dalam persewaan cd dengan menggunakan php narative

    • Denda bisa dihitung dengan membandingkan tanggal batas waktu pengembalian dengan tanggal hari ini mas, biasa dilakukan di PHP maupun di perintah SQL, coba dibaca artikel:

  • Bang, saya sedang membuat notifkasi berdasarkan hari, jikahari hari kontrak tersisa 30 hari, maka akan muncul
    Untuk hari < 30, y == 0 AND $lama->m == 0 AND $lama->d d > 20)

    Notifikasi Untuk dibawah 20 hari dan diatas 7 hari
    if($lama->y == 0 AND $lama->m == 0 AND $lama->d d > 7)

    Notifikasi untuk dibawah 7 hari dan diatas 1 hari
    if($lama->y == 0 AND $lama->m == 0 AND $lama->d d > 1)

    Notifikasi untuk besok (ini yg bingung logic nya)
    if($lama->y == 0 AND $lama->m == 0 AND $lama->d == 0 AND $lama->h > 20)

    Notifikasi habis hari ini
    if($tanggal_akhir_kontrak == $tanggal_now1)

  • Mas, bagaimana menghitung selisih waktu dari database ? misalkan di database 15 menit.
    Waktu sekarang 20.00, maka akan keluar counting down 15 menit.

    • Maksudnya apa seperti ini mas? waktu didatabase 20:00, waktu sekarang 19:45 selanjutnya muncul notif di layar bahwa waktu kurang 15 menit? jika ya bisa dilakukan di PHP atau Javacript

  • Selamat Sore,
    mau tanya, bagaimana mendapatkan data waktu tiap detik agar berubah pada script ini

    date_default_timezone_set(‘Asia/Jakarta’);
    $awal = date_create(‘2017-01-20 01:05:25’);
    $akhir = date_create(); // waktu sekarang, pukul 06:13
    $diff = date_diff( $akhir, $awal );
    echo $diff->h; // Hasil: 5

    terimakasih.

  • Gab gimana cara mengitung selisih jam di tanggal yg berbeda misal masuk jam 1 tanggal 2 keluar jam 3 tanggal 3 gto gan

    • Untuk waktu bisa pakai H:i:s mas (s untuk detik) misal: date(‘H:i:s’). strtotime untuk mengubah waktu menjadi timestamp, jika waktu ada detiknya maka timestamp tersebut akan mengandung detik jika tidak maka timestamp tersebut tidak mengandung detik, contoh:

      $waktu = '2019-04-01 05:26:11';
      $timestamp = strtotime($waktu);
      $tanggal = date('Y-m-d H:i:s', $timestamp);
      $detik = date('s', $timestamp);
      echo $detik; // 11
  • Permisi gan untuk menghitung waktu jika waktu awal nya jam 23.00 dan waktu selesai nya jam 07.00 bagaimana ya gan

  • asalamualalikum gan..
    ane mau tanya tanya kalo penghitungan lama bekerja dari awal masuk sampe sekarang pake rumus apa ya??

  • Gan gimana caranya saya punya 1tabel dari database mysql total_sehari_kerja nah itu pengen dihitung selama 1 bulan lama dia kerja terus
    contoh
    user_id date total_sehari_kerja
    12332 2019-08-07 07.50 -> 7jam 50 menit
    12332 2019-08-09 07.30

    nah itu kan berdasarkan user_id dia yang login pengen dihitung total selama 1 bulan dengan membedakan bulan yang ada di field tabel, Mohon responnya Terimakasih:)

  • no UserID Date totalseharikerja
    1 270901 2019-08-09 00:12:01
    2 123123 2019-08-09 00:11:53
    3 121212 2019-08-09 00:11:33
    4 123321 2019-08-09 00:11:56

    contohnya gitu gan misalkan ini tuh mau ngehitung totalseharikerja menjadi total kerja sebulan tar ditambah 1 field lagi di database nah saya tuh bingung gimana cara ngehitung totalkerjasehari berdasarkan userID dan datenya itu kalo misalkan pake timestampdiff itu hasilnya bakal ke jumlah walaupun beda bulan nah jadi pertanyaan itu yaa bagaimana ngitung jam totalseharikerja selama 1 bulan membedakan userid dan date(bulan)

  • Assalamu’alaikum pak agus, saya ingin bertanya….saya ada script di project saya seperti ini
    $awal = strtotime(‘2017-10-10 14:05:25’);
    $akhir = strtotime(‘2017-10-16 20:07:33’);
    $diff = $akhir – $awal;

    $hari = floor($diff / (60 * 60 * 24));
    $jam = floor($diff / (60 * 60));
    $menit = $diff – $jam * (60 * 60);
    echo ‘Waktu tinggal: ‘.$hari.’ hari, ‘ . $jam . ‘ jam, ‘ . floor( $menit / 60 ) . ‘ menit’;

    yang mana hasil outputnya 6 hari, 150 jam, 2 menit

    bisakah ketika jamnya sudah melebihi 24 jam harinya bertambah ? disini outputnya 6 hari 150 jam 2 menit berarti harusnya harinya bertambah 6 jam dan sisa 1 jam menjadi 12 hari 1 jam 2 menit kurang lebihnya. mohon bantuannya pak

  • bagaimana caranya menghitung selisih antar 2 tanggal, melalui codeigniter, php, mysql? Dan saya bingung peletakan coding controller dan models mas

    • Menghitung selisih waktu sudah dijelaskan secara detuil di artikel diatas mas
      Untuk code igniter, penghitungan selisih waktu bisa dilakukan di bagian model
      Jika masih bingung tentang code igniter, bisa dicoba googling terlebih dahulu

  • Assalammualaikum.bang mau tanya kalau menghitung denda untuk peminjaman buku itu bagai mana params nya

  • mas mau tanya bagaimana menjumlahkan waktu, contohnya” kedatangan jam10:00 dan lama di layani selama 30 menit ” menghitung jumlah “waktu kedatangan + lama kedatangan ” skripnya gimana mas. maaf masih pemula.

  • mas mau tanya gimana menghitung usia batas 20 tahun sebelum 21 juni tahun ini
    mohon bantuanya mas

  • Izin nanya mas, bagaimana kalau hitung masa pensiun.
    Misal tgl lahir lahir dimasukkan kemudian dkonversi jadi umur, terus apabila umur 60 tahun maka masa pensiun nya tgl saat ini dikurang 60 tahun trsebut. Terima kasih

  • Assalamu’alaikum, mau tanya, kalau misalnya waktu jam sekolah masuk jam 13.00 dan waktu pulang jam 17.15 itu bagaimana ya menampilkan status bahwa jam 13.00 status nya masuk dan jam 17.15 statusnya pulang

    terima kasih

  • mas mau tanya di tutorial kebanyakan tanggal yang sudah di tentukan atau input manual dan saya mau menanyakan cara menggunakan tanggal yang sudah ada di database dan cara manggilnya data tanggal dari databasenya bagaimana ya mas …. terima kasih sebelumnya

    • Coba dipanggil menggunakan SQL mas

      <?php
      $conn = mysqli_connect('localhost', 'root', '', 'nama_database');
      $sql = 'SELECT tanggal FROM tabel';
      $query = mysqli_query($conn, $sql);
      while ($row = mysqli_fetch_assoc($query)) {
      	$tanggal_awal = $row['tanggal'];
      	// Hitung selisih tanggal
      }
  • Gan bagaimana membuat atur waktu aktif otomatis pada jam dan tanggal tertentu dan non aktif dengan jam yang sudah di tentukan, misal ujian di buka jam 07.00 dan di tutup jam 08.00 dengan otomatis.

  • Mas saya mau tanya, saya punya tabel transaksi absensi jika ingin menampilkan laporan absensi karyawan dihari minggu bagaimana ya. sudah saya case when per hari tetap absensi hari minggu tidak tampil. misal ini mas tabelnya 24 itu hari minggu mas.
    id |idkaryawan|tanggal
    1 | 405 | 2021-01-23 07:30:21
    2 | 405 | 2021-01-23 16:00:11
    3 | 405 | 2021-01-25 07:34:21
    4 |405 | 2021-01-25 16:31:12
    yang ingin ditampilkan seperti ini
    idkaryawan | tanggal | masuk | pulang
    405 | 2021-01-23 | 07:30:21 | 16:00:11
    405 | 2021-01-24 | – | –
    405 | 2021-01-25 | 07:34:21 | 16:31:12
    terima kasih sebelumnya.

  • $menit = $diff – $jam * (60 * 60); kan untuk mencari menit
    lha kalo untuk mencari detiknya gmna pak?
    terima kasih

  • mas kalau menghitung umur dengan metode MVC bagaimana mas?
    tanggal lahirnya ambil data dari database
    mohon pencerahannya
    terimakasih sebelumnya

    • Sama saja mas, MVC cuman konsep cuding nya saja, mungkin bisa seperti ini, data tgl lahir di ambil dari database di Model, kemudian di Controllernya data tersebut diolah sehingga diperoleh umur

  • Pak bagaimana ya logikanya atau algoritmanya, misal waktu expired adalah 2021-06-10 dan waktu sekarang ada 2021-06-16, maka akan muncul echo “expired”, nah waktu expired itu di dapat dari mysql, sedangkan waktu sekarang hanya pakai date(‘M/d/Y’);, masalahnya ada kaya data yang masih tahun 2022 kebaca expired, bulan nya juni, data juni/2021 kebaca expired, tapi data juni/2022 kebaca expired juga.

    Mohon masukannya pak, terima kasih.

    • Coba dicek pengambilan data tanggal expirednya pastikan datanya benar mas, bisa di echo atau print_r terlebih dahulu, selanjutnya bandingkan dengan tanggal sekarang. Pastikan semua format waktunya YYYY-MM-DD misal 2021-06-17

  • Halloo om, bagaimana cara hanya pengurangan bulan tetapi berbeda tahun supaya hasilnya lebih dari 12bulan, contoh (2021-06) – (2020-05) = 13 Bulan

    • Itu caranya sama mas, tinggal dibuat tanggal awalnya 2020-05-01 dan tanggal akhirnya 2021-06-01, selanjutnya tinggal di hitung selisihnya menggunakan cara diatas

  • Izin mas mau tanya untuk menghitung range tanggal gimana ya ? misal gini mas ada $tgl_1 = 2021-08-18 dan $tgl_2 = 2021-09-13 jadi itu kan mas ada range dari $tgl_1 -> $tgl_2 itu gimana ya mas untuk script perhitungan rangenya ?

  • Buat Tambahan aja ni yang mau cari jam dan menitnya …
    buat yang pakai MVC bsa deklarin dlu klo mau ambil dari database di controller jd di view tinggal ambil fungsi :
    controller :
    $data = array(
    ‘field’ => $this->model->selecttable(array(‘NoPendaftaran’ => $NoPendaftaran)),
    );
    view :
    jam_testmulai));
    $f_jam_testselesai = date(‘H:i’, strtotime($field->jam_testselesai));
    $hasiltest = date_diff(date_create($f_jam_testselesai), date_create($f_jam_testmulai));
    $jamtest = $hasiltest->h;
    $menittest = $hasiltest->i;
    $f_lama_test = $jamtest . ‘ Jam ‘ . $menittest . ‘ Menit’;
    echo $f_lama_test ;
    ?>
    outputnya : 22 Jam 45 Menit..

  • Gan maaf , cara buat jam buka contoh jam buka 09:00 – 21:00 Senin sampai Minggu bagaimana ya.. terimakasih,

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com