我有一个日期和时间,我从csv文件解析,$ date是一个字符串,它保存值'18 -06-2013',$ time字符串var保存值'06 .00 ”。我需要它由PHP格式化,以便我可以将其插入到我的mysql数据库中,格式为2013/06/18和06:00:00。我该怎么做?现在,它插入一些零垃圾值,如日期和 00:00:06时间。
答案 0 :(得分:1)
您可以将其拆分为“ - ”标记,然后以相反的顺序将其加回(假设您的输入格式为DD-MM-YYYY
,它似乎是)
$date = implode('-', array_reverse(explode('-', $date, 3));
$time = str_replace('.', ':', $time) . ':00';
$datetime = "$date $time";
答案 1 :(得分:0)
您可以将自定义时间格式传递给strtotime
,然后使用date
格式化时间
$time = strtotime("$date $time");
echo date("Y-m-d h:i:s", $time);
答案 2 :(得分:0)
Mysql需要格式为yyyy-mm-dd hh:mm:ss的DateTime字段才能正确存储。
这是一个供你玩的测试脚本。
<?php
$date = '2013/06/09';
$time = '06.00';
list($y, $m, $d) = explode('/', $date);
list($hr, $mn) = explode( '.', $time);
$db_datetime = sprintf( '%d-%02d-%02d %02d:%02d:%02d', $y, $m, $d, $hr, $mn, 0 );
echo $db_datetime;
?>
答案 3 :(得分:0)
您可以使用DateTime类。自PHP 5.2.0以来,它在PHP中是原生的。
示例:
$myDate = '2013/06/18 06:00:00';
$myDateTime = new DateTime($myDate);
echo $myDateTime->format('Y-m-d H:i:s');