如何将日期从一种格式转换为另一种格式
答
虽然乔恩的答案是正确的,这里是另一种选择:
$input = '03-Dec-10';
$date = date('Ymd', strtotime($input));
答
$input = '03-Dec-10';
$date = DateTime::createFromFormat('d-M-y', $input);
echo $date->format('Ymd'); // or possibly 'Y-m-d'
这将输出20101203
,这大概是你想要的。如果它不完全符合你的要求,请看看here。
你也可以反过来做:
$input = '20101203';
$date = DateTime::createFromFormat('Ymd', $input);
echo $date->format('d-M-y');
+0
虽然Ymd也可以工作,MySQL通常喜欢Y-m-d格式的日期插入。 – 2011-03-31 18:46:54
答
如果你从Excel本身这样做,你可以把这个公式到另一列
= TEXT(A2, “年月日”)
然后复制下来。这会生成一个兼容的8位数字日期。
答
对于一个更通用的方法,你可以随时转储当前的格式为一个字符串,怎么样,你拥有了它,并使用字符串操作子串和重组。我知道一个事实,即MySQL接受DATETIME
字段的字符串值。
$day = substr($input, 0, 2);
$month = substr($input, 2, 3);
switch($month){
case "Jan":
$month = "01";
break;
...
}
它是如何从Excel文件到PHP?你如何插入数据库?谨慎提供任何细节? – 2011-03-31 18:50:50
是的朋友们......从Excel中可以看到03年12月3日,并作为字符串插入到数据库中 – Rajasekar 2011-03-31 18:53:41
@Rajasekar:您仍然提供零个细节。这个日期是否自发地变成了有感知力和魔法本身的数据库? – 2011-03-31 18:54:43