10个PHP函数,帮你轻松操控时间戳
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天。
