数据库日期时间的奇怪格式化日期

时间:2013-09-06 02:41:27

标签: php mysql momentjs

我目前正在通过ajax从数据库中获取数据,结果是json。在该结果中,存在来自具有这种格式的数据库的日期时间值,例如, 2013-09-06 07:28:52

当我在这段代码中使用momentjs时:

var waktu = moment(response.waktu, 'HH mm ss');

结果是:

-62167171952000

错误以及如何正确地返回它,仅适用于HH:mm:ss

谢谢。

5 个答案:

答案 0 :(得分:0)

尝试:

var waktu = moment(response.waktu, "YYYY-MM-DD HH:mm:ss");

格式字符串必须与输入字符串格式匹配。

答案 1 :(得分:0)

您需要格式化日期。使用数据库中的值

可以很容易地在PHP中完成它
$date = date('h:m:s', strtotime($row['date']));

http://php.net/manual/en/function.date.php

答案 2 :(得分:0)

您可以在PHP中使用此功能

$var = '2013-09-06 07:28:52';
$format='h:m:s';
echo formatDate($var,$format);

/**
* @param datetime $date11 date from db
* @param string $format See Date Parameters in Online Documentation
* @link http://www.php.net/manual/en/function.date.php#refsect1-function.date-parameters
* @return string Format Date
*/
function formatDate($date11, $format) {
    $date1 = new DateTime($date11);
    $date = $date1->format($format); //eg: 'm/d/Y' return 07/31/2012
    return $date;
}

答案 3 :(得分:0)

这是另一种选择:

$timestamp = strtotime('2013-09-06 07:28:52');
echo date("h:m:s", $timestamp); //outputs 07:09:52

答案 4 :(得分:0)

抱歉,我错了。

我错过了解文档。目前,我正在使用String + Format

var waktu = moment(response.waktu, 'HH mm ss');

然后我重新阅读了Display format部分,并尝试了以下代码:

var waktu = moment(response.waktu).format('HH : mm : ss');

因此,要格式化给定的日期时间,我们必须使用format()函数,并且无法直接使用String + Format,因为此处的格式是给定日期时间的格式。

感谢您的所有答案,我真的很感激。案件现已解决。