首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将负整数转换为datetime gmt-3和mktime - php

将负整数转换为datetime gmt-3和mktime - php
EN

Stack Overflow用户
提问于 2015-05-27 16:31:41
回答 1查看 164关注 0票数 0

编辑:

这一部分是我需要解决的问题:

我有一个负整数,比如:-10800,我希望在当地时间转换它,也就是布宜诺斯艾利斯(格林尼治标准时间-3)。

我正在使用一个在线转换器来检查它的日期,这样我就可以检查结果: www.4webhelp.net和抛出的-10800是1969年12月31日星期三,6:00(格林尼治时间-3),但我认为这是不正确的。我被告知负数在我的时区,也就是布宜诺斯艾利斯。

我还希望使用相同的时间格式创建从date到string。我该怎么做?

这一部分解决了:

在我尝试做这件事的过程中,当我学习mktime时,出现了一个新的疑问:

我想知道哪一天是二月的最后一天:

代码语言:javascript
复制
$lastday = mktime(0, 0, 0, 2, 0, 2015);
echo strftime("Last day is: %d", $lastday);

而这使得二月有31天,这是不正确的。为什么是这样?

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 16:37:56

如果天是0,那么PHP取前一个月的最后一天,所以

代码语言:javascript
复制
$lastday = mktime(0, 0, 0, 2, 0, 2015);

给出2015年1月31日(实际上是第2个月的第0天)

根据PHP文档

天 相对于前一个月底的一天的数目。值1至28、29、30或31 (视月份而定)引用相关月份中的正常天数。值小于1(包括负值)引用前一个月的天数,因此0是前一个月的最后一天,-1是该月份的前一天,等等。值大于相关月份中的天数引用下一个月的适当日期。

(我强调)

编辑

如果您希望在二月的最后一天,请使用

代码语言:javascript
复制
$lastday = mktime(0, 0, 0, 2, 1, 2015);
echo 'Last day is: ', date("t", $lastday);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30488254

复制
相关文章

相似问题

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