1

我无法显示正确的日期,实际上它只是时间。

在数据库中,日期以这种形式存储:'2012-09-28 23:30:00'(按实际日期时间的 7 小时关闭)

这是事件日期的值。

当我使用这个脚本(对于drupal)检索它时: $ttdate = $obj->field_date_test_value; $nttdate = strtotime($ttdate); $okdate = format_date($nttdate, $type = 'medium'); print $okdate;

...它工作正常,但时间减少了 7 小时。因此,不是显示“星期五,2012 年 9 月 28 日 - 下午 4:30”,而是显示“星期五,2012 年 9 月 28 日 - 晚上 11:30”。

请注意,在活动页面上,drupal 检索正确的时间......

我做了一些研究,我认为这与时区有关?但是我将时区设置为洛杉矶,所以我不太确定发生了什么。也许是我的剧本?

4

2 回答 2

3

I assume that you use the Date module.

This is probably because the Date module saves the date in UTC and alters the output on rendering (using format_date(), I think). Since you do not format the date in your own code, you see the raw UTC time (which is PDT + 7 hours) even though the correct date is displayed by the event page.

The bottom of this page explains how timezones are handled in the Date module. My guess is that either the first or third scenario is relevant in your case.

于 2012-09-15T10:46:49.413 回答
-1

在 mysql 中尝试以下操作:

set time_zone = '-07:00';
于 2012-09-15T00:53:33.083 回答