PHP DateInterval thành giây

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

Định dạng Ký tự Mục đích%sIn ngày của ngày không có số 0 đứng đầu

Ví dụ. 1, 2, 30, v.v.

%DIn ngày của ngày có số 0 đứng đầu

Ví dụ. 2, 05, 30, v.v.

%mIn số tháng của ngày không có số 0 đứng đầu

Ví dụ. 1, 6, 12, v.v.

%MIn số tháng của ngày có số 0 đứng đầu

Ví 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 đầu

Ví dụ. 1, 5, 11, v.v.

%HIn giờ có số 0 đứng đầu

Ví dụ. 01, 05, 11, v.v.

%iIn phút không có số 0 đứng trước

Ví dụ. 1, 9, 59, v.v.

%IIn phút với số 0 đứng đầu

Ví dụ. 01, 05, 25, v.v.

%sIn chữ cái thứ hai không có số 0 đứng đầu

Ví dụ. 1, 9, 59, v.v.

%SIn chữ cái thứ hai với số 0 đứng đầu

Ví dụ. 01, 09, 59, v.v.

%fIn phần triệu giây mà không có số 0 đứng đầu

Ví dụ. 7845, 562312, 235634, v.v.

%FIn micro giây với 6 chữ số và số 0 đứng đầu

Ví 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

< ?php

// Đặt khoảng thời gian in< . ' days
$ival=new DateInterval('P10D');

//Print the interval value
echo "The interval is ", $ival->format('%D days.') . " ;

// Đặt khoảng thời gian in months and days
$ival=new DateInterval('P5M10D');

//Print the interval value in months and days
echo "The interval is ", $ival->format('%M months and %D days.') , " ;

//Set interval in years, months and days
$ival=new DateInterval('P2Y5M10D');

//Print the interval value in years, months, and days with leading zeros
echo "The interval is ", $ival->format('%Y years, %M months and %D days.') , " ;
//Print the interval value in years, months, and days without leading zeros
echo "The interval is ", $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 đó.

PHP DateInterval thành giây

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ị

< ?php

    // Đặt khoảng thời gian < . date_interval_format in years, months, and days
    $ival = new DateInterval('P10Y6M15D');

    //Set the format for days
    $format = "%d";
    //Print the interval value in days
    echo "The interval is ".date_interval_format($ival , $format)." ngày. """""""""""""""""""""""""""""""""""""""" ;

    // Đặt định dạng for days and months
    $format = "%m months and %days." ;
    // In giá trị khoảng thời gian in months and days
    echo "The interval is ".date_interval_format($ival , $format).""""""""""""""""""""""""""""""""""""""""" ;

    //Set the format for days
    $format = "%y years, %m months, and %days." ;
    // In giá trị khoảng thời gian in years, months, and days
    echo "The interval is ".date_interval_format($ival , $format).""""""""""""""""""""""""""""""""""""""""" ;

? >

 
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó.

PHP DateInterval thành giây

ví dụ 3. Sử dụng lớp DateInterval cho Giờ, Phút và Giây

Ký tự 'T' được sử dụng sau ký tự 'P' để đặt khoảng thời gian. Tạo tệp PHP với tập lệnh sau trong đó khoảng thời gian được đặt bằng cách sử dụng lớp DateInterval

< ?php

    // Đặt khoảng thời gian in seconds
    $ival = new DateInterval('PT30S');
    //Set the formatting
    $format = "%s seconds." ;
    // In giá trị khoảng thời gian in seconds
    echo "The interval is ". date_interval_format($ival , $format). """""""""""""""""""""""""""""""""""""""""""""" ;
 
    //Set interval in seconds
    $ival = new DateInterval('PT15M30S');
    //Set the formatting
    $format = "%i minutes and %s seconds." ;
    // In giá trị khoảng thời gian in minutes and seconds
    echo "The interval is ". date_interval_format($ival , $format). """""""""""""""""""""""""""""""""""""""""""""" ;


    //Set interval in seconds
    $ival = new DateInterval('PT5H15M30S');
    //Set the formatting
    $format = "%h hours, %i minutes and %s seconds." ;
    // In giá trị khoảng thời gian in hours, minutes, and seconds
    echo "The interval is ". date_interval_format($ival , $format). """""""""""""""""""""""""""""""""""""""""""""" ;
? >

 
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó.

PHP DateInterval thành giây

Ví dụ 4. Sử dụng lớp DateInterval Với hàm createFromDateString()

Hàm createFromDateString() được sử dụng để đặt khoảng thời gian ngày và giờ theo nhiều cách khác nhau. Tạo một tệp PHP với tập lệnh sau trong đó khoảng thời gian ngày và giờ đã được đặt theo nhiều cách khác nhau bằng cách sử dụng hàm createFromDateString()

< ?php

// Đặt khoảng thời gian in< . createFromDateString days
$ival = DateInterval::createFromDateString('20 ngày') ;
echo "The interval is ", $ival->format('%d days'), "
"
;

//Set interval in weeks
$ival = DateInterval::createFromDateString('4 tuần') ;
echo "The interval is ", $ival->format('%d days'), "
"
;

//Set interval in months
$ival = DateInterval::createFromDateString('3 tháng') ;
echo "The interval is ", $ival->format('%m months'), "
"
;

//Set interval in years and days
$ival = DateInterval::createFromDateString('5 năm + 15 ngày') ;
echo "The interval is ", $ival->format('%y years %d days'), "
"
;

//Set interval in weeks, days, hours, and minutes by summation
$ival = DateInterval::createFromDateString('2 tuần + 15 ngày + 24 giờ + 60 phút');
echo "The interval is ", $ival->format('%d days, %h hours, and %i minutes'), "
"
;

//Set interval in days by subtraction
$ival = DateInterval::createFromDateString('30 ngày - 15 ngày') ;
echo "The interval is ", $ival->format('%d days'), "
"
;
?>

 
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó.

PHP DateInterval thành giây

Phần kết luận

Các cách khác nhau để đặt khoảng thời gian ngày và giờ bằng cách sử dụng giá trị chuỗi tại thời điểm tạo đối tượng của lớp DateInterval hoặc sử dụng createFromDateString() đã được trình bày trong hướng dẫn này. Việc sử dụng lớp DateInterval đã được thảo luận để người dùng PHP mới hiểu rõ hơn

Làm cách nào để chuyển đổi DateInterval thành chuỗi trong PHP?

Bạn cần gọi DateInterval. format() để hiển thị sự khác biệt đó dưới dạng chuỗi . echo $diff->format('%d days');

Làm cách nào để có được khoảng thời gian trong PHP?

The DatePeriod. Hàm getDateInterval() là một hàm có sẵn trong PHP được sử dụng để trả về khoảng thời gian ngày cho khoảng thời gian đã cho. Thông số. Hàm này không chấp nhận bất kỳ tham số nào. Giá trị trả về. Hàm này trả về đối tượng DateInterval của khoảng thời gian đã cho.

Khoảng thời gian của ngày là gì?

một số nguyên đại diện cho sự khác biệt, tính theo số ngày, giữa hai ngày hoặc thời gian hoặc mốc thời gian bất kỳ .

Làm cách nào để trừ 1 ngày kể từ ngày trong PHP?

Hàm date_sub() sửa đổi và trả về đối tượng DateTime ban đầu. Bạn có thể sử dụng hàm date_sub() theo cách thủ tục hoặc hướng đối tượng. Bạn có thể sử dụng hàm strtotime() để PHP cũng trừ ngày cho một ngày .