我目前正在通过 ajax 从数据库中获取数据,结果为 json。在该结果中,数据库中有一个具有这种格式的日期时间值,例如2013-09-06 07:28:52
当我在这段代码中使用 momentjs 时:
var waktu = moment(response.waktu, 'HH mm ss');
结果是:
-62167171952000
出了什么问题以及如何正确返回它,只是为了HH:mm:ss
?
谢谢你。
这是一个替代方案:
$timestamp = strtotime('2013-09-06 07:28:52');
echo date("h:m:s", $timestamp); //outputs 07:09:52
尝试:
var waktu = moment(response.waktu, "YYYY-MM-DD HH:mm:ss");
格式字符串必须与输入字符串格式匹配。
您需要格式化日期。使用数据库中的值很容易在 PHP 中执行此操作
$date = date('h:m:s', strtotime($row['date']));
你可以在 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;
}
对不起,我错了。
我错过了理解文档。目前,我正在使用String + Format,如下所示:
var waktu = moment(response.waktu, 'HH mm ss');
然后我重新阅读了显示格式部分,并尝试了以下代码:
var waktu = moment(response.waktu).format('HH : mm : ss');
所以,要格式化给定的日期时间,我们必须使用format()
函数,不能直接使用String + Format,因为这里的格式是给定日期时间的格式。
谢谢大家的回答,我真的很感激。该案现已解决。