首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个代码是如何工作的??正确的代码是什么?

这个代码是如何工作的??正确的代码是什么?
EN

Stack Overflow用户
提问于 2011-09-27 14:47:08
回答 5查看 107关注 0票数 0

这是我当前的代码,似乎不能正常工作。

代码语言:javascript
复制
`echo date("h:i", 1*60*60) ; /*  1*60*60 mean 1 hours  right */` 

结果是03:00的时候应该是01:00。

这是哪里出了问题?

我想做这个

1-员工及时到来管理员选择它

2-员工请假作为时间戳保存在mysql中

现在我试着让管理员看看用户延迟了多少小时

用户日期时间默认延迟

user1 11-09-2011 09:10 :00 10分钟

user1 12-09-2011 08:00 09:00 -60分钟

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-27 14:52:51

如果只输出date("Y-m-d H:i:s",0),就应该看到它不是1970-01-01 00:00:00。这是因为date受本地时区的影响。例如,我在GMT +3,date("Y-m-d H:i:s")给我1970-01-01 03:00:00

因此,答案是您不在格林尼治时间范围内(可能在GMT+2中),而且date也受到它的影响。

更新

下面的代码输出1970-01-01 00:00:00,所以肯定是时区。

代码语言:javascript
复制
date_default_timezone_set('UTC');
echo date("Y-m-d H:i:s", 0);

Hovewer,我在PHP的date手册中没有看到任何提到它的地方。

票数 5
EN

Stack Overflow用户

发布于 2011-09-27 14:49:52

日期()函数中的第二个参数必须是UNIX时间戳,从1970年1月1日开始传递秒。你需要根据这个值留出时间。

票数 0
EN

Stack Overflow用户

发布于 2011-09-27 14:50:20

嗯,如果我是对的,date()的第二个param是一个unix时间戳,所以从1970年开始的秒。你必须得到time(),并在其中添加60*60。

代码语言:javascript
复制
echo date("h:i", time()+60*60); // get current timestamp, add one hour
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7571113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档