【问题标题】:gmmktime and mktime give me the same numbergmmktime 和 mktime 给我相同的数字
【发布时间】:2013-09-06 07:43:31
【问题描述】:

我的 PHP 时区是“亚洲/德黑兰”,所以我不希望 gmmktime 给我与 mktime 相同的结果。

php 信息:

默认时区亚洲/德黑兰

但是当我在我的 php 控制台中输入时:

echo date('jS F Y h:i:s A (T)', mktime());

2013 年 9 月 3 日 11:23:10 AM (IRDT)

echo date('jS F Y h:i:s A (T)', gmmktime());

2013 年 9 月 3 日 11:23:16 AM (IRDT)

虽然我预计时差为 3.5 或 4.5 小时。我在某处犯错了吗?

【问题讨论】:

  • 你应该使用gmdatedate

标签: php timezone timestamp timestamp-with-timezone


【解决方案1】:

您需要在 gmmktime() 中提供 Argumente。你的错误是,先了解mktime() vs gmmktime()。见this link

解决方法很简单,使用 gmdate() 函数显示使用gmmktime() 创建的日期。

<?php
  $inputDate = gmmktime(0,0,0,2,7,2012);
  echo gmdate("M d Y H:i:s O", $inputDate);
  // Feb 07 2012 00:00:00 +0000
?>

【讨论】:

  • 感谢您的回复。我的目标是从现在开始生成 UTC/GMT 时间戳,以便通过FROM_UNIXTIME 与 mysql 中的时间戳进行比较。我对决定要更改哪些代码感到困惑:php 中的 gmmktime 或 mysql 中的 FROM_UNIXTIME ...
猜你喜欢
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多