我有一个日期和一个时间,我从一个 csv 文件中解析出来,$date 是一个字符串,它的值是“18-06-2013”,而 $time 字符串 var 的值是“06.00”。我需要用 php 格式化它,以便我可以以 2013/06/18 和 06:00:00 的格式将它插入到我的 mysql 数据库中。我该怎么做?现在,它会插入一些零垃圾值,例如日期的 0000-00-00 和时间的 00:00:06。
问问题
308 次
4 回答
1
您可以将其拆分为“-”标记,然后以相反的顺序将其重新加入(假设您的输入格式是DD-MM-YYYY
,它似乎是)
$date = implode('-', array_reverse(explode('-', $date, 3));
$time = str_replace('.', ':', $time) . ':00';
$datetime = "$date $time";
于 2013-07-24T13:59:05.790 回答
0
您可以将自定义时间格式传递给strtotime
然后使用格式化时间date
$time = strtotime("$date $time");
echo date("Y-m-d h:i:s", $time);
于 2013-07-24T13:57:33.350 回答
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;
?>
于 2013-07-24T14:16:01.430 回答
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');
于 2013-07-24T14:46:42.367 回答