我正在将很多以前的静态页面导入 WordPress,一切似乎都很好,但我遇到了一个奇怪的问题。
根据WordPress 文档,日期格式必须是:Y-m-d H:i:s
,这就是我尝试给它的:
'post_date_gmt' => date('Y-m-d H:i:s',strtotime($data['date']))
但在 WordPress 本身中,它被识别为Y-d-m
,因此设置了错误的日期,甚至将一些帖子添加到“预定”。
是什么导致了我们之间的这种误解?
我正在将很多以前的静态页面导入 WordPress,一切似乎都很好,但我遇到了一个奇怪的问题。
根据WordPress 文档,日期格式必须是:Y-m-d H:i:s
,这就是我尝试给它的:
'post_date_gmt' => date('Y-m-d H:i:s',strtotime($data['date']))
但在 WordPress 本身中,它被识别为Y-d-m
,因此设置了错误的日期,甚至将一些帖子添加到“预定”。
是什么导致了我们之间的这种误解?
的输出是$data['date;]
什么?
您在 $data['date'] 周围包装的函数 strtotime 期望得到一个包含英文日期格式的字符串,并将尝试将该格式解析为 Unix 时间戳(自 1970 年 1 月 1 日 00:00 以来的秒数:00 UTC),相对于现在给出的时间戳,或者如果没有提供现在,则为当前时间。
见: http: //php.net/manual/en/function.strtotime.php
尝试不使用 strtotime()
It appears that my date assembly before it was assigned to $data['date'] was incorrect. I was adding strtotime($day.'/'.$month.'/'.$year) to it, but my PHP was making a US format time out of it, thus using my month as a day... Sorry, fixed. :)