Lớp DateInterval trong PHP tính toán sự khác biệt giữa hai đối tượng ngày/giờ. Đôi khi, nó yêu cầu tìm sự khác biệt giữa hai ngày, tháng, năm, giờ, phút và giây cho mục đích lập trình. Đối tượng của lớp này lưu trữ lượng thời gian cố định có thể đọc được bằng cách sử dụng hàm format() sử dụng các tham số định dạng khác nhau. Các cách sử dụng khác nhau của lớp DateInterval trong PHP được trình bày trong hướng dẫn này
Các tham số định dạng khác nhau của hàm format()
Mục đích của các ký tự định dạng khác nhau được sử dụng trong hàm format() đã được mô tả trong phần hướng dẫn này
Format CharacterPurpose%dIn ngày của ngày không có số 0 đứng đầuVí dụ. 1, 2, 30, v.v.
%DIn ngày của ngày có số 0 đứng đầuThí dụ. 2, 05, 30, v.v.
%mIn số tháng của ngày không có số 0 đứng đầuVí dụ. 1, 6, 12, v.v.
%MIn số tháng của ngày có số 0 đứng đầuVí dụ. 01, 06, 12, v.v.
%yIn năm có 2 chữ sốVí dụ. 21, 22, 23, v.v.
%YIn năm có 4 chữ sốVí dụ. 2021, 2022, 2023, v.v.
%hIn giờ không có số 0 đứng đầuVí dụ. 1, 5, 11, v.v.
%HIn giờ có số 0 đứng đầuThí dụ. 01, 05, 11, v.v.
%iIn phút không có số 0 đứng đầuVí dụ. 1, 9, 59, v.v.
%IIn phút với số 0 đứng đầuThí dụ. 01, 05, 25, v.v.
%sIn chữ cái thứ hai không có số 0 đứng đầuVí dụ. 1, 9, 59, v.v.
%SIn chữ cái thứ hai với số 0 đứng đầuVí dụ. 01, 09, 59, v.v.
%fIn phần triệu giây mà không có số 0 đứng đầuThí dụ. 7845, 562312, 235634, v.v.
%FIn micro giây với 6 chữ số và số 0 đứng đầuVí dụ. 007845, 062312, 235634, v.v.
Việc sử dụng các phương thức khác nhau của lớp DateInterval sẽ được thảo luận trong phần tiếp theo của hướng dẫn này
ví dụ 1. Sử dụng lớp DateInterval cho ngày, tháng và năm
Tạo tệp PHP với tập lệnh sau cho thấy việc sử dụng xác định các giá trị khoảng thời gian khác nhau bằng cách sử dụng lớp DateInterval. Khoảng thời gian phải bắt đầu bằng ký tự, 'P'. Ký tự 'Y' được sử dụng cho khoảng thời gian năm, 'M' được sử dụng cho khoảng thời gian tháng và 'D' được sử dụng cho khoảng thời gian ngày. Trong tập lệnh, lớp DateInterval đầu tiên sẽ đặt khoảng thời gian 10 ngày, lớp DateInterval thứ hai sẽ đặt khoảng thời gian 5 tháng và 10 ngày và lớp DateInterval thứ ba sẽ đặt khoảng thời gian 2 năm, 5 tháng và 10 ngày
format('%M months and %D days.') , " ;
// Đặt khoảng thời gian trong năm, tháng và ngày
$ival =new DateInterval ('P2Y5M10D');
// In giá trị khoảng thời gian trong năm, tháng và ngày có số 0 đứng đầu
echo "Khoảng thời gian là " , $ival . ' >format('%Y years, %M months and %D days.') , " ;
// In giá trị khoảng thời gian trong năm, tháng và ngày không có số 0 ở đầu
echo "Khoảng thời gian là " , $ival . ' >format('%y years, %m months and %d days.') , " ;
? >
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó
ví dụ 2. Sử dụng lớp DateInterval Với hàm date_interval_format()
Hàm date_interval_format() in giá trị khoảng ngày với chuỗi định dạng. Hàm này lấy đối tượng khoảng thời gian trong đối số đầu tiên và chuỗi định dạng trong đối số thứ hai. Tạo một tệp PHP với tập lệnh sau trong đó việc sử dụng hàm date_interval_format() đã được hiển thị