gmmktime和mktime给了我相同的号码

时间:2013-09-03 07:04:26

标签: php timezone timestamp timestamp-with-timezone

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

  

php info:

     

默认时区亚洲/德黑兰

然而,当我输入我的php控制台时:

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

2013年9月3日 11:23 :上午10点(IRDT)

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

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

虽然我预计会有3.5或4.5小时的时差。我在某个地方犯了错误吗?

1 个答案:

答案 0 :(得分: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
?>