0

我有一个日期和一个时间,我从一个 csv 文件中解析出来,$date 是一个字符串,它的值是“18-06-2013”​​,而 $time 字符串 var 的值是“06.00”。我需要用 php 格式化它,以便我可以以 2013/06/18 和 06:00:00 的格式将它插入到我的 mysql 数据库中。我该怎么做?现在,它会插入一些零垃圾值,例如日期的 0000-00-00 和时间的 00:00:06。

4

4 回答 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 回答