Преобразование даты PHP в формат даты javascript

У меня есть PHP script, который выводит массив данных. Затем он преобразуется в JSON с помощью функции json_encode().

Моя проблема: у меня есть дата в моем массиве, и она не в правильном формате javascript. Как я могу преобразовать это в PHP так, чтобы оно было?

$newticket['ThreadID'] =  $addticket;
$newticket['Subject'] =  $subject;
//$newticket['DateCreated'] =  date('d-m-Y G:H');

Вместо указанной выше даты мне нужен эквиливант функции javascript

new Date()

Когда я выхожу из вышеизложенного, я получаю следующее сообщение: "Если я буду форматировать мою дату PHP, то javascript отклонит ее. Confused...

Может ли кто-нибудь помочь?

Ответы

Ответ 1

Вероятно, вы должны просто использовать временную метку

$newticket['DateCreated'] = strtotime('now');

Затем преобразуйте его в дату Javascript

// make sure to convert from unix timestamp
var now = new Date(dateFromPHP * 1000);

Ответ 2

Это довольно просто.

PHP-код:

$formatted_date = $newticket['DateCreated'] =  date('Y/m/d H:i:s');

Код Javascript:

var javascript_date = new Date("<?php echo $formatted_date; ?>");

Ответ 3

Очень просто, я использую это:

new Date("<?= date('Y/m/d H:i:s'); ?>");

Ответ 4

$newticket['DateCreated'] = date('d-m-Y G:H', strtotime($phpDateVariable));

Ответ 5

Если вы хотите быть более точным с меткой времени, вы должны использовать microtime() вместо now().

Это дает вам:

echo round(microtime(TRUE)*1000);

Для миллисекунды, javascript-подобная метка времени в php.

Ответ 6

Класс Javascript Date поддерживает формат даты ISO 8601, поэтому я рекомендую:

<?php 
      date('c', $yourDateTime); 
      // or for objects
      $dateTimeObject->format('c');
?>
Документация

гласит, что: format character 'c' - это дата ISO 8601 (добавлена ​​в PHP 5)
пример: 2004-02-12T15: 19: 21 + 00: 00

для получения дополнительной информации: http://php.net/manual/en/function.date.php