小编col*_*igo的帖子

date_create_from_format php在特定月份和日期不返回正确的日期

我在 php 中有一个函数,它使用 date_create_from_format 函数将格式“Ym”的日期转换为日期时间。它工作正常,除了我今天发现的一种情况,但我找不到问题。情况如下:

当前日期:2014 年 7 月 31 日。

$period值:'201409'(作为我想做一些计算的月份)

$newDateCreated = date_create_from_format('Ym', $period);
Run Code Online (Sandbox Code Playgroud)

这将返回创建的新日期时间,但其值为 10/01/2014 而不是 09/01/2014

如果我不设置值 201409,而是设置 201411 或 201408,则可以正确创建新日期时间。

我发现的唯一解决方案是替换

$newDateCreated = date_create_from_format('Ym', $period);
Run Code Online (Sandbox Code Playgroud)

为了

$newDateCreated = date_create_from_format('Ymd', $period.'01');
Run Code Online (Sandbox Code Playgroud)

我相信这一定与该月的某一天有关,但我找不到真正的问题。对此有什么想法吗?

提前致谢。

php datetime date

2
推荐指数
1
解决办法
566
查看次数

标签 统计

date ×1

datetime ×1

php ×1