You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现Blogger API时间格式转毫秒的技术求助

解决Blogger API时间戳转毫秒数的问题

别担心,这个带时区的ISO 8601格式时间戳转换其实很容易搞定!你遇到的2018-01-26T07:06:00-08:00是标准的ISO 8601带偏移时区的时间格式,PHP的DateTime类可以直接解析它,完全不需要手动拆分字符串。

方法一:用DateTime类(推荐,时区处理更可靠)

这是最稳妥的方式,能正确处理时区偏移,避免不同时区下的转换误差:

// Blogger API返回的时间戳
$bloggerTimestamp = '2018-01-26T07:06:00-08:00';

// 初始化DateTime对象,自动解析带时区的格式
$dateObj = new DateTime($bloggerTimestamp);

// 获取秒级时间戳后乘以1000得到毫秒数
$milliseconds = $dateObj->getTimestamp() * 1000;

方法二:用strtotime快速转换

如果你的PHP版本在5.2及以上,strtotime也能直接识别这种格式,实现快速转换:

$bloggerTimestamp = '2018-01-26T07:06:00-08:00';
$seconds = strtotime($bloggerTimestamp);
$milliseconds = $seconds * 1000;

验证转换结果

你可以用自己熟悉的代码把毫秒数转回去,验证转换是否准确:

$seconds = $milliseconds / 1000;
echo date("d M Y, D", $seconds);
// 输出:26 Jan 2018, Fri(会转换为服务器默认时区的显示,若要保持原时区,建议用DateTime的format方法)

如果需要严格保持原时间戳的时区显示,推荐用DateTime自带的format方法:

echo $dateObj->format("d M Y, D");
// 同样输出正确的日期,且严格尊重原时间戳的时区偏移

内容的提问来源于stack exchange,提问作者topper1309

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:34:53