Home >Backend Development >PHP Problem >How to convert time format to text format using PHP

How to convert time format to text format using PHP

PHPz
PHPzOriginal
2023-04-25 15:55:45990browse

In actual development, we often need to convert the time format into text format in order to better display or store data. PHP is a widely used language, and PHP provides many tools and functions to process time.

This article will introduce in detail how to use PHP to convert time format to text format.

1. PHP’s built-in time function

Before using PHP to convert time format to text format, you need to make sure you have some basic understanding of PHP’s built-in time function. The following are some commonly used functions:

  1. date() function is used to format time into a string. It can accept two parameters: the first parameter is used to specify the format, and the second parameter is used to specify the timestamp. If the second parameter is empty, the current timestamp is used by default.

Example:

echo date("Y-m-d"); // 输出当前日期

echo date("Y-m-d H:i:s", 1534949251); // 输出 2018-08-22 10:47:31
  1. time() function is used to get the current timestamp. It does not require any parameters and will return an integer value representing the number of seconds that have passed since January 1, 1970.

Example:

echo time(); // 输出当前时间戳
  1. The strtotime() function is used to convert a datetime string into a timestamp. Its parameter is a datetime string, which can be a datetime text in any format, including the common "year-month-day" and "hour:minute:second" formats.

Example:

echo strtotime('2018-08-22 10:47:31'); // 输出 1534949251

The above are some commonly used PHP time functions. Next we will use these functions to convert the time format to text format.

2. Convert the timestamp into a friendly time text format

Normally, we want to convert the timestamp into a more friendly time format, such as "1 hour ago", "Yesterday" ”, “7 days ago” and so on. A combination of PHP time functions can accomplish this task conveniently.

The following is an example of converting a timestamp into a friendly time text format:

function friendly_date($timestamp) {

$current_time = time();
$delta_time = $current_time - $timestamp;

if ($delta_time < 60) {
    return '刚刚';
} elseif ($delta_time < 3600) {
    $min = floor($delta_time / 60);
    return $min . '分钟前';
} elseif ($delta_time < 86400) {
    $hour = floor($delta_time / 3600);
    return $hour . '小时前';
} elseif ($delta_time < 604800) {
    $day = floor($delta_time / 86400);
    if ($day == 1) {
        return '昨天';
    } else {
        return $day . '天前';
    }
} else {
    return date('Y-m-d', $timestamp);
}

}

This The function converts the timestamp into a text description, such as "3 hours ago". If the time is within one minute from the current time, "just now" is returned; if the time is within one hour from the current time, "xx minutes ago" is returned; if the time is within one day from the current time, "xx hours ago" is returned ; If the time is within one week from the current time, return "yesterday" or "xx days ago"; if the time is more than one week from the current time, return the date in the format of "year-month-day".

3. Convert the timestamp to a specified text format

If we need to format the time into a specified date and time format, we can use the date() function. The first parameter of the date() function is used to specify the output format. For example, "Y-m-d H:i:s" means year-month-day hour:minute:second format.

The following is an example of outputting the timestamp in the specified format:

function format_date($timestamp, $format = 'Y-m-d H:i:s') {

return date($format, $timestamp);

}

The above function will output the timestamp in the specified format. If no date format is specified, the "Y-m-d H:i:s" format is used by default. The output format can be customized as needed.

4. Convert the time string into a text format in the specified format

If we already have a date and time string, we can use the strtotime() function to convert it into a timestamp, and then Use the date() function to format it into text in a specified format.

The following is an example of converting a date and time string into text in a specified format:

function format_date_str($date_str, $format = 'Y-m-d H:i:s') {

$timestamp = strtotime($date_str);
return date($format, $timestamp);

}

The above function will output the date and time string in the specified format. If no date format is specified, the "Y-m-d H:i:s" format is used by default.

Summary:

This article introduces how to use PHP to convert time format to text format. By using PHP's built-in time function, we can quickly convert timestamps into friendly text or text in a specified format. In actual development, you can use the above two methods as needed to format the time into a text format more suitable for display and storage.

The above is the detailed content of How to convert time format to text format using PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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