欢迎访问宙启技术站
智能推送

PHP中的时间处理函数及其用法

发布时间:2023-06-09 10:31:00

PHP提供了丰富的时间处理函数,包括时间获取函数、时间格式化函数以及时间计算函数等,这些函数可以方便地对时间进行处理和操作,下面简单地介绍一些常用的时间处理函数及其用法。

1. date函数

date函数是PHP中处理日期和时间的核心函数,用于将时间戳转换为指定格式的日期和时间。

语法:date(format,timestamp)

参数:

- format:必需。规定日期或时间的格式字符串。

- timestamp:可选。规定日期或时间的时间戳。默认为当前时间。

示例:

// 输出当前日期时间
echo date("Y-m-d H:i:s");

// 输出一个自定义日期格式
echo date("l dS \of F Y h:i:s A");

// 输出一个时间戳转化为日期格式
echo date("Y-m-d", strtotime("2021-10-10"));

2. time函数

time函数返回当前时间的时间戳,以秒为单位。

语法:time()

参数:无

示例:

// 输出当前时间戳
echo time();

3. strtotime函数

strtotime函数将日期时间字符串转换为时间戳。

语法:strtotime(timeString,timestamp)

参数:

- timeString:必须。规定要转换为时间戳的日期字符串。

- timestamp:可选。规定时间戳的基准时间。

示例:

// 输出一个日期字符串转化为时间戳
echo strtotime("2021-10-10");

// 输出一个时间字符串转化为时间戳
echo strtotime("10 October 2021");

// 输出一个时间字符串转化为时间戳,指定基准时间为2021-01-01
echo strtotime("10 October 2021", strtotime("2021-01-01"));

4. mktime函数

mktime函数用于返回一个日期的时间戳。

语法:mktime(hour,minute,second,month,day,year,is_dst)

参数:

- hour:必须。规定小时。

- minute:必须。规定分钟。

- second:必须。规定秒数。

- month:必须。规定月份。

- day:必须。规定日期。

- year:必须。规定年份。

- is_dst:可选。规定是否为夏令时,默认为-1。

示例:

// 输出一个时间戳,指定时分秒、年月日
echo mktime(0, 0, 0, 10, 10, 2021);

// 输出一个时间戳,指定时分秒、年月日及指定是否为夏令时
echo mktime(0, 0, 0, 10, 10, 2021, 1);

5. strftime函数

strftime函数用于将本地时间格式化为字符串。

语法:strftime(format,time)

参数:

- format:必需。规定日期的格式字符串。

- time:可选。规定日期的时间戳或本地时间。默认为当前时间。

示例:

// 输出当前时间的本地时间格式
echo strftime("%Y-%m-%d %H:%M:%S");

// 输出一个时间戳转换为本地时间格式
echo strftime("%Y-%m-%d %H:%M:%S", strtotime("2021-10-10"));

6. gmdate函数

gmdate函数用于返回GMT/UTC时间。

语法:gmdate(format,timestamp)

参数:

- format:必需。规定日期的格式字符串。

- timestamp:可选。规定日期的时间戳。默认为当前时间。

示例:

// 输出当前GMT时间
echo gmdate("Y-m-d H:i:s");

// 输出一个时间戳转换为GMT时间
echo gmdate("Y-m-d H:i:s", strtotime("2021-10-10"));

7. strtotime函数

strtotime函数用于将日期字符串转换为时间戳。

语法:strtotime(timeString,timestamp)

参数:

- timeString:必须。规定要转换为时间戳的日期字符串。

- timestamp:可选。规定时间戳的基准时间。

示例:

// 输出一个日期字符串转化为时间戳
echo strtotime("2021-10-10");

// 输出一个时间字符串转化为时间戳
echo strtotime("10 October 2021");

// 输出一个时间字符串转化为时间戳,指定基准时间为2021-01-01
echo strtotime("10 October 2021", strtotime("2021-01-01"));

8. time_diff函数

time_diff函数用于计算两个时间之间的时间差。

语法:time_diff(startTime,endTime)

参数:

- startTime:必须。规定起始时间。

- endTime:必须。规定结束时间。

示例:

// 计算时间差
function time_diff($startTime, $endTime) {
    $startTimestamp = strtotime($startTime);
    $endTimestamp = strtotime($endTime);
    $timeDiff = $endTimestamp - $startTimestamp;

    $day = floor($timeDiff / 86400);

    $hour = floor($timeDiff / 3600);
    $hour = $hour - ($day * 24);

    $minute = floor($timeDiff / 60);
    $minute = $minute - ($day * 24 * 60) - ($hour * 60);

    $second = floor($timeDiff);
    $second = $second - ($day * 24 * 60 * 60) - ($hour * 60 * 60) - ($minute * 60);

    return array('d' => $day, 'h' => $hour, 'm' => $minute, 's' => $second);
}

// 输出时间差
print_r(time_diff('2021-10-17 08:00:00', '2021-10-20 12:00:00'));

总结:

PHP中的时间处理函数非常丰富,能够满足各种时间处理需求,掌握这些时间处理函数的使用方法对于开发人员非常重要。在实际开发过程中,需要根据具体业务需求选择合适的时间处理函数来处理时间,避免出现不必要的错误和问题。