我正在尝试将字符串月份名称转换为月号,
但为什么我在'Feb'的结果中获得 '03',
strtolower(date('m', strtotime('Feb')));
我用其他月份的名字进行测试,看起来很好,
strtolower(date('m', strtotime('Jan'))); // 01
strtolower(date('m', strtotime('Mar'))); // 03
做错了什么?
答案 0 :(得分:2)
因为今天是1月 30日。你没有提供一天的数字,所以php假设今天,最后是2月30日。然后它实现的是无效的,所以它继续到3月2日,可怜的混乱。
答案 1 :(得分:2)
该函数需要一个包含英文日期的字符串 格式并将尝试将该格式解析为Unix时间戳( 从1970年1月1日00:00:00 UTC开始的秒数,相对于 现在给出的时间戳,或者现在没有提供当前时间。
这导致今天日期(1月30日)和“2月”=>的混合。 2月30日 - 但这不是有效日期,因此PHP返回3月份的月份数。
尝试类似
的内容strtotime('01 Feb')
应该解决问题。