Home > Backend Development > PHP Problem > How to convert hours, minutes and seconds into seconds in php

How to convert hours, minutes and seconds into seconds in php

PHPz
Release: 2023-04-11 14:05:20
Original
1704 people have browsed it

In PHP development, time processing is a very common requirement. We may need to convert a time in string format into a timestamp, or we may need to convert the timestamp into a readable format. Of course, there is also a common need to convert hours, minutes and seconds into seconds. So, how to achieve this conversion? This article will introduce some implementation methods.

Method 1: strtotime function

PHP built-in functionstrtotime()Can parse a human-readable date and time string into a UNIX timestamp. Based on this function, we can convert hours, minutes and seconds into seconds. The specific implementation code is as follows:

function hmsToSeconds($hms)
{
    $seconds = strtotime("1970-1-1 $hms UTC");
    return date('H:i:s', $seconds);
}
Copy after login

Among them, $hms is the hours, minutes and seconds, and the format is H:i:s, for example 11:00:30. We first concatenate the hours, minutes, seconds and a UNIX time point (1970-1-1) into a complete time string, and then use the strtotime() function to convert it into a UNIX timestamp. Finally, format the converted seconds into hours, minutes and seconds for output.

It should be noted that since the strtotime() function uses the current time zone by default, we need to set it to use the UTC time zone, otherwise time differences may occur, resulting in the calculation of seconds. An error occurred.

Method 2: explode function

In addition to using the strtotime() function, we can also use the explode() function to convert the hours, minutes and seconds characters The string is divided according to :, then each part is converted into seconds, and then added to get the total number of seconds. The specific implementation code is as follows:

function hmsToSeconds($hms)
{
    list($hours, $minutes, $seconds) = explode(':', $hms);
    return $hours * 3600 + $minutes * 60 + $seconds;
}
Copy after login

Among them, the list() function is used to assign the array elements obtained through the explode() function to the corresponding variables. We assign the three elements of hours, minutes, and seconds to the three variables $hours, $minutes, $seconds, and then convert them into seconds. , and then add them to get the total number of seconds.

It should be noted that if a certain part of the hour, minute, and second string is an odd number (for example, 01), you need to ensure that there are no leading zeros when passing it into the function, otherwise it may be parsed as an octal number. and an error occurs.

Method 3: DateTime class

In addition to using the built-in function, we can also use the DateTime class provided by PHP to convert hours, minutes and seconds into total seconds. The specific implementation code is as follows:

function hmsToSeconds($hms)
{
    $time = date_create_from_format('H:i:s', $hms);
    return $time->getTimestamp() - strtotime('today');
}
Copy after login

First, we use the date_create_from_format() function to format $hms into H:i:s time object. Then, use the getTimestamp() method to obtain the UNIX timestamp corresponding to the object, and then subtract the UNIX timestamp at 0:00 today to get the total number of seconds of this time relative to 0:00 today.

It should be noted that since the date_create_from_format() function returns a DateTime object, you need to use the object's method to obtain the timestamp value.

Summary

In PHP development, converting hours, minutes and seconds into seconds is a common requirement. We can use the built-in functions strtotime() and explode(), or we can use the DateTime class to achieve conversion through different methods. It should be noted that there are certain differences between different methods in terms of accuracy, legality, and difficulty of use. It is necessary to select the most suitable conversion method according to the specific situation.

The above is the detailed content of How to convert hours, minutes and seconds into seconds in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template