我目前正在使用返回日期的API。这些日期永远不会是相同的格式。例如;我有时会得到像1987/10/12那样的日期,或者有时它只会返回一年。
我尝试将此日期转换为可导入我的mysql数据库的格式,但它始终使用当前时间戳自动填充日期。
$item['released'] = "1989";
var_dump(strtotime($item['released']));
这将返回1989年11月23日星期四,格林威治标准时间11:53:53(在当前时间戳上添加正确年份的日/月/年和时间)
为什么会这样,我怎么知道它必须像1989/01/01 00:00:00 或者我应该以另一种方式看待这个?
由于
答案 0 :(得分:1)
从您的问题和评论(“我只是没有返回它不可用的月份或日期。它以美国格式btw”)我会假设,可能的日期是:
正确?
如果是这样,你可以使用类似的东西:
$arr = explode('/', $input);
$modifiedInput = $arr[0] . '/' .
((isset($arr[1])) ? $arr[1] : '01') . '/' .
((isset($arr[2])) ? $arr[2] : '01') .
' 00:00:00';
$ modifiedInput将为'1987/12/10 00:00:00'作为第一个可能的输入,'1987/12/01 00:00:00'为第2,'1987/01/01 00:00 :00'代表第3名。
如果API可能返回尾部斜杠(例如'1987/12 /'),则需要修改三元运算符中的条件......