我在 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)
我相信这一定与该月的某一天有关,但我找不到真正的问题。对此有什么想法吗?
提前致谢。