«

PHP时间戳转日期

时间:2026-10-19 07:37     作者:emer     分类: 无


PHP时间戳转日期

引言

数据库里常存Unix时间戳(秒级整数),展示到页面要转成可读日期;反过来用户选的日期也要转成时间戳入库。date()和strtotime()是这对基础转换工具,理解格式符和时区才能避免差8小时。

时间戳转日期

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

date()第二个参数缺省就是当前时间time(),传指定时间戳则格式化该时刻。

当前时间戳

echo time();            // 秒级时间戳
echo microtime(true);   // 带微秒的浮点时间戳

日期字符串转时间戳

$ts = strtotime('2026-10-19 08:30:00');
echo $ts;

strtotime支持英文相对表达式:

strtotime('tomorrow');
strtotime('+1 week');
strtotime('next Monday');

DateTime面向对象写法

$dt = new DateTime('@' . $ts);
echo $dt->format('Y-m-d H:i:s');

$d = DateTime::createFromFormat('Y-m-d', '2026-10-19');
echo $d->getTimestamp();

复杂时区和格式解析用DateTime更稳。

常用格式符

注意事项

总结

时间戳转日期用date('Y-m-d H:i:s', $ts),日期转时间戳用strtotime(),复杂解析用DateTime。先设好Asia/Shanghai时区,毫秒先除以1000,strtotime失败要判空。入库统一存秒级时间戳,展示层再格式化,比存字符串日期更好比较和索引。

标签: PHP 时间戳 date strtotime 日期转换