【问题标题】:Different results for date() and gmdate()date() 和 gmdate() 的不同结果
【发布时间】:2014-03-06 09:11:08
【问题描述】:

我发现了一些我无法真正解释的东西,也许这里有人可以给我一个提示。

我有以下测试代码,使用date()gmdate()打印2个格式化时间戳,一个用于31.03.2013,一个用于31.03.2014:

<?php

function print_date($timestamp, $year) {
  // Add timezone offset for germany
  $timestamp += 3600;
  print "in $year\n";
  print "date:   " . date('d.m.Y H:i:s', $timestamp) . "\n";
  print "gmdate: " . gmdate('d.m.Y H:i:s', $timestamp) . "\n";
  print "\n";
}

$end_2013 = 1364684400; // 31.03.2013
$end_2014 = 1396216800; // 31.03.2014
print_date($end_2013, '2013');
print_date($end_2014, '2014');

print "Default timezone: " . date_default_timezone_get() . "\n";

结果让我吃惊:

in 2013
date:   31.03.2013 01:00:00
gmdate: 31.03.2013 00:00:00

in 2014
date:   31.03.2014 01:00:00
gmdate: 30.03.2014 23:00:00

Default timezone: Europe/Berlin

2014 年的差异从何而来?我的第一个想法是夏令时,但为什么在 2013 年没有效果呢? 为什么2014年相差2小时,2013年只有1小时?

【问题讨论】:

  • 您的默认时区是什么?
  • @Ramesh Europe/Berlin

标签: php date time


【解决方案1】:

柏林的夏令时开始于

2013 Sunday, 31 March, 02:00 
2014 Sunday, 30 March, 02:00 

您为每个日期指定的时间值是该日期的 00:00,因此对于 2013 年 3 月 31 日星期日,它是凌晨 2 点之前,因此没有夏令时; 2014 年是 3 月 30 日凌晨 2 点之后

【讨论】:

【解决方案2】:

假设您已经检查过文档。 gmdatedate

改变它

print "date:   " . date('d.m.Y', $timestamp) . "\n";
print "gmdate: " . gmdate('d.m.Y', $timestamp) . "\n";

有了这个

print "date:   " . date('d.m.Y H:i:s', $timestamp) . "\n";
print "gmdate: " . gmdate('d.m.Y H:i:s', $timestamp) . "\n";

你会发现不同之处。

【讨论】:

  • 但是为什么我在 2014 年有 2 小时的差异,而我在 2013 年只有 1 小时的差异呢?
  • 已经感谢您的回答,我已根据您的意见更新了我的问题。
【解决方案3】:

这是夏令时问题吗?

根据this ,似乎 2013-03-31 02:00:00 更改为 03:00:00

【讨论】:

    【解决方案4】:

    gmdate() 始终以 GMT/UTC 日期和时间格式但date() 始终根据默认时区格式

    试试这个

     <?php
       date_default_timezone_set("Asia/Bangkok");
       echo gmdate('Y-m-d H:i:s');
       echo date('Y-m-d H:i:s');
      ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-17
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2018-01-06
      相关资源
      最近更新 更多