如果加载codeigniter的日期助手,则会有“local_to_gmt()”函数,但它不带参数,只转换当前服务器时间(由time()生成)。
我需要该函数能够根据用户的当地时间和数据库中的DST字段转换用户给出的任何其他时间。
或类似human_to_unix()的函数,还有2个参数:dst和当地时间。
这样的功能是否存在?
我曾经说过:local_to_gmt()不接受任何争论,但正如第一个回答者所说的那样,它也会采取争论。 但我专注于用户时区和夏令时选项。
第三次更新!!!
我找到了一个解决方案,但根据stackoverlow的定律,我几个小时后才能回答我自己的问题。
到目前为止,请查看此功能可能是我最接近的解决方案:http://codeigniter.com/wiki/convert_to_gmt
function convert_to_gmt($time = '', $timezone = 'UTC', $dst = FALSE)
{
if ($time == '')
{
return now();
}
$time -= timezones($timezone) * 3600;
if ($dst == TRUE)
{
$time -= 3600;
}
return $time;
}
但仍有一个问题:
你相信$ dst会没有任何问题吗?据我了解,根据功能,$ dst总是会减少一个小时。但应该意识到天气是夏天还是没有。它会减少时间,即使它是冬天!!!
如何克服这个问题?