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

10个PHP函数,帮你轻松操控时间戳

发布时间:2023-06-15 08:07:15

1. time()函数

这个函数是PHP内置的时间函数,它返回当前时间的时间戳,也就是从1970年1月1日开始的秒数。在很多场合都可以用到,比如记录用户登录时间,或者记录数据的操作时间。

$timestamp = time(); // 获取当前时间戳
echo $timestamp;

2. strtotime()函数

这个函数的作用是将一个日期时间字符串转换成时间戳。它非常灵活,可以接收各种格式的日期时间字符串,返回对应的时间戳。比如:

$timestamp = strtotime('2019-01-01 12:00:00');
echo $timestamp;

它还可以处理相对时间,比如:

$timestamp = strtotime('+1 day');
echo $timestamp;

这个代码返回的是当前时间加上一天的时间戳。

3. date()函数

这个函数是将时间戳转换成指定格式的日期时间字符串。它的用法如下:

$timestamp = time();
$date = date('Y-m-d H:i:s', $timestamp);
echo $date;

输出的字符串是当前时间的格式化字符串。

4. mktime()函数

这个函数的作用是将指定的日期时间转换成时间戳。它接收年、月、日、时、分、秒六个参数,返回对应的时间戳。比如:

$timestamp = mktime(0, 0, 0, 1, 1, 2019);
echo $timestamp;

输出的是2019年1月1日0点0分0秒的时间戳。

5. strftime()函数

这个函数和date()函数类似,也可以将时间戳转换成指定格式的日期时间字符串。不同之处在于,它可以根据本地化设置输出对应语言的日期时间字符串。比如:

setlocale(LC_TIME, 'Chinese');
$date = strftime('%Y年%m月%d日', time());
echo $date;

输出的是2019年01月01日,根据本地设置输出中文日期。

6. gmstrftime()函数

这个函数和strftime()函数类似,也可以将时间戳转换成指定格式的日期时间字符串。不同之处在于,它使用的是格林威治标准时间,不受时区影响。比如:

$date = gmstrftime('%Y-%m-%d %H:%M:%S', time());
echo $date;

输出的是当前的UTC时间,可以用于在不同时区的服务器之间进行时间同步。

7. microtime()函数

这个函数返回当前时间的微秒数,通常用于性能测试和计时。比如:

$start = microtime(true);
// do something
$end = microtime(true);
echo "执行时间:" . ($end - $start) . "秒";

这个代码可以计算出某个程序段的执行时间。

8. strtotime()和date()结合使用

strtotime()函数和date()函数可以和谐共存,用来计算未来或过去的时间。比如:

$date = date('Y-m-d H:i:s', strtotime('+2 weeks'));
echo $date;

这个代码输出的是两周后的日期时间字符串。

9. strtotime()和gmdate()结合使用

同样,gmdate()和strtotime()函数也可以结合使用,用来计算未来或过去的时间。比如:

$date = gmdate('Y-m-d H:i:s', strtotime('+2 weeks'));
echo $date;

这个代码输出的是两周后的UTC日期时间字符串。

10. strtotime()和strtotime()结合使用

这个神奇的组合可以用来计算两个时间之间的差值。比如:

$timestamp1 = strtotime('2019-01-01 00:00:00');
$timestamp2 = strtotime('2019-01-10 00:00:00');
$diff = $timestamp2 - $timestamp1;
echo $diff;

这个代码会输出864000秒,也就是10天。