在 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 数据库中输入时间戳的主要内容,如果未能解决你的问题,请参考以下文章