使用带有本地时间设置的 unix 时间戳时,日期时间向前移动一小时

发布于 2024-12-07 16:40:41 字数 493 浏览 2 评论 0原文

首先我想告诉我的服务器时间设置:它的+3欧洲/伊斯坦布尔 在 php 中,我使用

date_default_timezone_set('Europe/Istanbul');

我在 mysql 表中使用 datetime 类型,当我插入行时,其写法类似于 2011-10-01 15:16:09 其正确没有问题,但在 php 端当我查询和回显日期时间 echo strftime("%d %b %Y, %a %H:%M",strtotime(date("m/d/YH:i",$data['UNIX_TIMESTAMP(date)']))) ; 我把时间提前一小时,比如 16:16:09

我不明白如何计算出来。有什么想法吗?

编辑: 当插入行时,我将日期提供给mysql,它不使用像CURRENT_TIMESTAMP这样的内部日期信息

Firstly i want to tell my server time setting : its +3 Europe/Istanbul
and in php i am using

date_default_timezone_set('Europe/Istanbul');

I use datetime type in my mysql table, when i insert row, its written like 2011-10-01 15:16:09 its correct no problem but in php side when i query and echo date time with
echo strftime("%d %b %Y, %a %H:%M",strtotime(date("m/d/Y H:i",$data['UNIX_TIMESTAMP(date)'])));
i get time one hour forward like 16:16:09

i dont understand how to figure it out. Any idea ?

Edit :
when inserting the rows i give the date to mysql, it doesnt use internal date info like CURRENT_TIMESTAMP

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

-柠檬树下少年和吉他 2024-12-14 16:40:41

该问题几乎肯定是由于夏令时造成的。如果代码的一部分指定+3,则已经针对夏令时进行了更正。如果代码的其他部分无法识别该日期对于夏令时来说已经是正确的,它将增加一个小时。

我知道这不是一个很好的答案,但我似乎还无法发表评论。

The problem is almost certainly due to daylight savings times. If one part of the code specifies +3, that's already corrected for daylight savings. If the other part of the code doesn't recognize the date as already correct for daylight savings time, it will add an hour.

I know it's not a great answer, but I don't seem to be able to post a comment yet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文