2013-09-06 2 views
0

Я сейчас извлекаю данные из базы данных через ajax с результатом json. в этом результате было получено значение datetime из базы данных с этим форматом, например. 2013-09-06 07:28:52Weird отформатированная дата из базы данных datetime

и когда я использую momentjs с этим кодом:

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

результат является:

-62167171952000 

что не так и как вернуть его правильно, только для HH:mm:ss?

спасибо.

+1

[Проверить документы для формирования] (http://momentjs.com/docs/). –

+0

спасибо, что напомнили мне, это моя ошибка @SheikhHeera – rizqyhi

ответ

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, так как формат здесь является форматом для данного времени.

Благодарим вас за весь ответ, я очень благодарен за это. Дело теперь разрешено.

0

Try:

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

Формат строки должен соответствовать формату ввода строки.

+0

, когда я изменил это, в результате получилось '1378427332000' – rizqyhi

+0

Это выглядит прямо на меня. Это число миллисекунд с 01.01.1970 00:00:00. – Barmar

+0

Да, это моя ошибка недопонимания функции 'format()', ее теперь решена, спасибо. – rizqyhi

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; 
} 
0

Вот альтернатива:

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

результат PHP такой же, но когда я передал его в момент() с форматом 'HH: mm: ss', он дал мне« 1378427332000 » – rizqyhi

+0

, затем эхо полученную метку времени, такую ​​как« дата эха »(« h: m: s ", '1378427332000');' –

+0

исправьте меня, если я ошибаюсь, но созданная вами временная метка выглядит как простая десятизначная метка времени с добавлением 3 дополнительных 0 –

Смежные вопросы