将 UNIX 时间戳转换为格式化的日期字符串

新手上路,请多包涵

使用 PHP,我想将 UNIX 时间戳转换为与此类似的日期字符串: 2008-07-17T09:24:17Z

如何将 1333699439 类的时间戳转换为 2008-07-17T09:24:17Z

原文由 Utku Dalmaz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 466
2 个回答

试试 gmdate 像这样:

 <?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

原文由 stewe 发布,翻译遵循 CC BY-SA 4.0 许可协议

大多数人没有阅读评论,并且 gmdate() 在接受的答案中存在问题,它在 GMT 中返回时间,所以如果我们使用 date_default_timezone_set(zone) 它不会工作,而是使用 date()

 <?php

$ts = 1664706166;
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo  "date()  : $date\n";
echo  "gmdate(): $gmdate\n\n";

date_default_timezone_set("Asia/Jakarta");
$date = date('Y-m-d H:i:s', $ts);
$gmdate = gmdate('Y-m-d H:i:s', $ts);
echo  "date()  : $date\n";
echo  "gmdate(): $gmdate <- GMT\n";

/* result
date()  : 2022-10-02 10:22:46
gmdate(): 2022-10-02 10:22:46

After set timezone
date()  : 2022-10-02 17:22:46
gmdate(): 2022-10-02 10:22:46 <- GMT
*/

原文由 uingtea 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题