У меня есть PHP-скрипт, который выводит массив данных. Затем он преобразуется в JSON
с использованием функции json_encode()
.
Моя проблема в том, что у меня есть дата в моем массиве, и она не соответствует правильному формату javascript. Как я могу преобразовать это в PHP так?
$newticket['ThreadID'] = $addticket; $newticket['Subject'] = $subject; //$newticket['DateCreated'] = date('dmY G:H');
Вместо указанной выше даты мне нужен эквиливант функции javascript
новая дата ()
Когда я выхожу из вышеизложенного, я получаю следующее сообщение: «Если я отформатирую дату PHP на то же самое, javascript отклонит его. Смущенный…
Может ли кто-нибудь помочь?
Вероятно, вы должны просто использовать временную метку
$newticket['DateCreated'] = strtotime('now');
Затем преобразуйте его в дату Javascript
// make sure to convert from unix timestamp var now = new Date(dateFromPHP * 1000);
Это довольно просто.
PHP-код:
$formatted_date = $newticket['DateCreated'] = date('Y/m/d H:i:s');
Код Javascript:
var javascript_date = new Date("<?php echo $formatted_date; ?>");
Очень просто, я использую это:
new Date("<?= date('Y/m/d H:i:s'); ?>");
$newticket['DateCreated'] = date('dmY G:H', strtotime($phpDateVariable));
Если вы хотите быть более точным с меткой времени, вы должны использовать microtime () вместо now ().
Это дает вам:
echo round(microtime(TRUE)*1000);
Для миллисекунды, javascript-подобная метка времени в php.
Класс 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