227 of 410 menu

Kelas DateInterval

Kelas DateInterval memungkinkan untuk bekerja dengan interval waktu di PHP. Kelas ini digunakan untuk menyimpan perbedaan antara dua tanggal atau untuk menentukan interval dalam metode yang berhubungan dengan tanggal. Interval dibuat dalam format khusus.

Sintaks

DateInterval::__construct(string $duration)

Format Interval

Format terdiri dari huruf P (period) dan elemen-elemen:

P{y}Y{m}M{d}DT{h}H{m}M{s}S{w}W

Dalam format ini: Y - tahun, M - bulan, D - hari, T - pemisah waktu, H - jam, M - menit, S - detik, W - minggu.

Sebelum huruf-huruf ini perlu ditulis nilai yang sesuai. Sebagai contoh, 3Y akan berarti tiga tahun, dan 5Y2M akan berarti 5 tahun dan 2 bulan.

Setelah dibuat, objek DateInterval akan berisi properti-properti berikut:

<?php $interval->y // tahun $interval->m // bulan $interval->d // hari $interval->h // jam $interval->i // menit $interval->s // detik $interval->f // mikrodetik $interval->invert // 1 jika interval negatif $interval->days // jumlah hari (jika dibuat melalui diff()) ?>

Mari kita lihat cara kerja interval pada contoh-contoh:

Contoh

Buatlah interval selama 1 jam, 45 menit dan 30 detik:

<?php $interval = new DateInterval('PT1H45M30S'); var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 0 'h' => 1 'i' => 45 's' => 30 )

Contoh

Buatlah interval selama 3 minggu dan 2 hari:

<?php $interval = new DateInterval('P3W2D'); var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 23 'h' => 0 'i' => 0 's' => 0 )

Contoh

Buatlah interval selama 5 bulan, 10 hari dan 6 jam:

<?php $interval = new DateInterval('P5M10DT6H'); var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 0 'm' => 5 'd' => 10 'h' => 6 'i' => 0 's' => 0 )

Contoh

Buatlah interval selama 2 tahun dan 15 menit:

<?php $interval = new DateInterval('P2YT15M'); var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 2 'm' => 0 'd' => 0 'h' => 0 'i' => 15 's' => 0 )

Contoh

Buatlah interval selama 1 hari, 12 jam dan 30 detik:

<?php $interval = new DateInterval('P1DT12H30S'); var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 1 'h' => 12 'i' => 0 's' => 30 )

Contoh

Buatlah interval negatif selama 1 tahun dan 3 bulan (interval mundur):

<?php $interval = new DateInterval('P1Y3M'); $interval->invert = 1; var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 1 'm' => 3 'd' => 0 'h' => 0 'i' => 0 's' => 0 'invert' => 1 )

Contoh

Buatlah interval negatif selama 2 jam, 30 menit (interval mundur):

<?php $interval = new DateInterval('PT2H30M'); $interval->invert = 1; var_dump($interval); ?>

Hasil eksekusi kode:

DateInterval Object ( 'y' => 0 'm' => 0 'd' => 0 'h' => 2 'i' => 30 's' => 0 'invert' => 1 )

Contoh

Tambahkan interval ke tanggal saat ini:

<?php $date = new DateTime('2023-01-01'); $interval = new DateInterval('P10D'); $date->add($interval); echo $date->format('Y-m-d'); ?>

Hasil eksekusi kode:

'2023-01-11'

Contoh

Hitunglah perbedaan antara dua tanggal:

<?php $date1 = new DateTime('2023-01-01'); $date2 = new DateTime('2023-02-15'); $interval = $date1->diff($date2); echo $interval->format('%m bulan %d hari'); ?>

Hasil eksekusi kode:

'1 bulan 14 hari'

Lihat Juga

  • kelas DateTime,
    yang merepresentasikan tanggal dan waktu
  • kelas DateTimeZone,
    yang merepresentasikan zona waktu
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak