gpt4 book ai didi

php - 如何使用日期模块在 Drupal 中正确显示时间?

转载 作者:行者123 更新时间:2023-12-01 16:13:06 26 4
gpt4 key购买 nike

在我的 Drupal 站点上创建新事件时,我将事件的日期/时间设置为我认为的本地时间。我希望系统中的日期/时间设置为我在添加/编辑表单上看到的值,但事实并非如此;它已设置为 UTC。

Event Start (add/edit form): 2012-12-20 1:00pm EST
Event Start (database): 2012-12-20 6:00pm UTC

当我使用 date() 显示此日期/时间时,即使将默认时区设置为 EST(“美国/多伦多”),日期/时间仍然显示 2012 年 12 月 20 日下午 6:00。

问题不一定是drupal,日期/时间是以存储方式显示的,但我认为问题可能是添加/编辑表单上的日期/时间输入控件。 ..可能与 javascript 时间相关。

<小时/>

这些值在显示时发布:下午 5:00 以 3 个不同的值发送到服务器:5, 00, PM。它们以 UTC 形式存储在数据库中,但无论我如何尝试,它们始终显示为 UTC。我尝试过 format_date、date_default_timezone_set、在 .htaccess 文件中设置 PHP 时区...没有运气:s

<小时/>

讨厌必须手动执行此操作,但这可行:

$tz = new DateTimeZone('America/Toronto');  
$offset = $tz->getOffset(new DateTime($start_date));
$start_stamp = strtotime($start_date) + $offset;

最佳答案

如果您有日期格式化程序(配置页面位于/admin/config/regional/date-time),您可以使用计算机名称来重用它:

$date = new DateObject($timestamp);
$value = date_format_date($date, 'my_date_string_format');

关于php - 如何使用日期模块在 Drupal 中正确显示时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com