mysql和php中的日期和时间存储错误

时间:2014-11-25 09:20:17

标签: php mysql

这是14位数字27122013113700我将在mysql中以数据和时间格式存储。格式需要像27-12-2013 11:37:00。现在存储为00-00-00 00:00:00 请告诉我一个简单的代码来解决这个问题。

3 个答案:

答案 0 :(得分:0)

你的格式应该是这样的 2013-12-27 11:37:00
使用at datetime的数据类型将其保存到数据库中。

这个代码就是这个 回音日期('Y-m-d h:i:s','27122013113700');

希望有所帮助

我知道了

<?php

$string = 27122013113700;

$day = substr($string, 0, 2);
$month = substr($string, 2, 2);
$year = substr($string, 4, 4);

$hour = substr($string, 8, 2);
$min = substr($string, 10, 2);
$sec = substr($string, 12, 2);

$result = $day.'-'.$month.'-'.$year.' '.$hour.':'.$min.':'.$sec;

echo $result;

复制并粘贴,然后尝试自己

答案 1 :(得分:0)

首先,您必须使用数据库表列数据类型“DATETIME”,然后更改日期格式,如下所示:

回音日期('Y-m-d h:i:s');

它以Y-m-d h:i:s格式存储日期。

祝你好运

答案 2 :(得分:0)

27122013113700不是有效的日期时间格式。它看起来接近Unix时间戳,但2013-12-27 11:37:00转换为1388169420。您获得00-00-00 00:00:001947-08-25 19:31:00的原因是由于这个原因,MYSQL无法将其识别为有效,因此它会插入默认值。

如果您需要使用特定日期,则需要像这样完成。 PHP的DateTime类可以很容易地完成这项工作,但是你需要5.2版才能使用它。

$date = new DateTime('2013-12-27 11:37:00');
$db_date = $date->format('Y-m-d H:i:s');

如果您只需要当前日期,就像这样。

$date = new DateTime();
$db_date = $date->format('Y-m-d H:i:s');