227 of 410 menu

Lớp DateInterval

Lớp DateInterval cho phép làm việc với các khoảng thời gian trong PHP. Nó được sử dụng để lưu trữ sự khác biệt giữa hai ngày hoặc để chỉ định một khoảng thời gian trong các phương thức làm việc với ngày tháng. Khoảng thời gian được tạo ra trong một định dạng đặc biệt.

Cú pháp

DateInterval::__construct(string $duration)

Định dạng khoảng thời gian

Định dạng bao gồm chữ cái P (period - chu kỳ) và các phần tử:

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

Trong định dạng này: Y - năm, M - tháng, D - ngày, T - dấu phân cách thời gian, H - giờ, M - phút, S - giây, W - tuần.

Cần viết giá trị tương ứng trước các chữ cái này. Ví dụ, 3Y sẽ có nghĩa là ba năm, còn 5Y2M sẽ biểu thị 5 năm và 2 tháng.

Sau khi tạo, đối tượng DateInterval sẽ chứa các thuộc tính sau:

<?php $interval->y // năm $interval->m // tháng $interval->d // ngày $interval->h // giờ $interval->i // phút $interval->s // giây $interval->f // micro giây $interval->invert // 1 nếu khoảng thời gian là âm $interval->days // số ngày (nếu được tạo thông qua diff()) ?>

Hãy xem cách hoạt động của khoảng thời gian qua các ví dụ:

Ví dụ

Tạo một khoảng thời gian 1 giờ, 45 phút và 30 giây:

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian 3 tuần và 2 ngày:

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian 5 tháng, 10 ngày và 6 giờ:

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian 2 năm và 15 phút:

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian 1 ngày, 12 giờ và 30 giây:

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian âm 1 năm và 3 tháng (khoảng thời gian lùi):

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

Kết quả thực thi mã:

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

Ví dụ

Tạo một khoảng thời gian âm 2 giờ, 30 phút (khoảng thời gian lùi):

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

Kết quả thực thi mã:

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

Ví dụ

Thêm một khoảng thời gian vào ngày hiện tại:

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

Kết quả thực thi mã:

'2023-01-11'

Ví dụ

Tính sự khác biệt giữa hai ngày:

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

Kết quả thực thi mã:

'1 months 14 days'

Xem thêm

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối