php 转gmt,关于PHP:在Codeigniter中将用户本地时间转换为GMT Unix时间戳

如果加载codeigniter的日期帮助器,将存在函数" local_to_gmt()",但不带任何参数,仅转换当前服务器时间(由time()生成)。

我需要该函数能够根据用户的本地时间和数据库中的DST字段转换用户给定的任何其他时间。

或像human_to_unix()这样的函数,还有两个参数: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总是会减少一小时。但是应该意识到天气是否是夏天。即使在冬天,它也会减少时间!!!

如何克服这个问题???

在PHP中将一种日期格式转换为另一种日期格式的可能重复方式-另请参阅右侧的许多相关问题并使用站点搜索。

我的问题与您评论的链接之间没有任何关系。 我在谈论用户特定的时区和夏令时设置。 但是,问题和最佳答案(我只读了那两个)都与用户本地时间无关。 无论如何

要求功能可以满足您的需求并不明智,但最好看一下它是如何完成的。 我必须承认,重复的副本确实不合适,但我也向您指出了右边的其他相关问题,例如 (仅从其中一种中选择)PHP,Codeigniter:如何在Web应用程序中基于用户的时区/位置全局设置日期/时间?

手册说:

local_to_gmt()Takes a Unix timestamp as input and returns it as GMT

...并提供以下示例:

$now = time();

$gmt = local_to_gmt($now);

所以我敢说它实际上接受了一个论点。

哦,是的,你是对的。 但是它并不关心用户本地时间和DST设置。

Unix时间戳是"通用的",它们不包含时区信息,因为无论您身在何处,它们都是相同的。 从/转换为常规日期时(例如19/01/2012 13:14),您会考虑时区。

是的,你是对的。 因此,我想要一个函数来影响用户给出的时间(根据用户表中他的数据库字段),然后将其转换为unix时间戳。 这样,我将能够对其进行自己的计算,并且Ill还能够在其他用户的本地时间显示时间。

老实说,我不是CI用户。 我曾以为这是一个手工误读的简单情况。 抱歉,我无法提供更多帮助。

亲爱的朋友,我非常感谢您的尝试。 非常感谢您的评论:)

在PHP中使用gm组函数,例如:

gmmktime

当我问这个问题时,我不知道PHP具有这些功能,因此我在Codeigniter中查询了这种行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值