在 php 中从 EDT 转换为 GMT+05.30 时区以在 mysql 数据库中输入时间戳

Posted

技术标签:

【中文标题】在 php 中从 EDT 转换为 GMT+05.30 时区以在 mysql 数据库中输入时间戳【英文标题】:Converting from EDT to GMT+05.30 time zone in php for entering timestamp in mysql database 【发布时间】:2014-08-23 14:53:32 【问题描述】:

我的 php 网络服务器时区是 EDT(美国东部夏令时间)。我当前的时区是 GMT+05.30。我需要使用当前时区的时间戳将当前时间戳输入到我的 mysql 数据库中。顺便说一句,我正在使用免费的 php web 服务器供我使用。所以我不会有任何修改服务器的特权。有人可以建议我使用任何脚本在 php 中将其从 EDT 转换为我的 GMT+05.30 吗?提前致谢。

【问题讨论】:

您的网络服务器的时区无关紧要。在您的 PHP 代码中使用正确的时区,一切都会好起来的。 【参考方案1】:

看看下面的例子

$timezone = new DateTimeZone('Europe/Berlin');
$date = new DateTime('@' . $yourTimestamp, $timezone);

echo $date->format('c');

因此,通过 DateTimeZone 对象,您的时间将被 DateTime 对象格式化。

【讨论】:

我的时区是 GMT+05.30 所以我该如何编写这段代码。你能给我解释一下吗。抱歉,我不明白您在回答中提到的内容。你能帮我么。因为我是 php 和 mysql 的新手。 GMT+5:30 是印度标准时间。所以只需使用“亚洲/加尔各答”而不是“欧洲/柏林”。你绝对应该看看php.net/manual/en/class.datetimezone.php。 其实用'Asia/Kolkata'会更合适。另请参阅the list on Wikipedia。【参考方案2】:

我建议你使用 date_default_timezone PHP 函数。 你可以阅读它here 和here is the list of Supported Timezones

例子:

<?php
    date_default_timezone_set('Europe/Amsterdam');
?>

【讨论】:

【参考方案3】:

使用这个:

echo gmdate("Y:F:l     h:i:s",time()+19800);

【讨论】:

以上是关于在 php 中从 EDT 转换为 GMT+05.30 时区以在 mysql 数据库中输入时间戳的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中将 GMT 从 JSON 提要转换为当地时间

将带有 GMT 的字符串转换为日期时间格式 - php [重复]

如何将php日期格式转换为GMT,反之亦然?

如何在时区之间转换时间(UTC 到 EDT)?

在 PHP 中从文本到图像

如何在 PHP 中从 Unicode 转换表情符号?