Ответ 1
Вероятно, вы должны просто использовать временную метку
$newticket['DateCreated'] = strtotime('now');
Затем преобразуйте его в дату Javascript
// make sure to convert from unix timestamp
var now = new Date(dateFromPHP * 1000);
У меня есть 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...
Может ли кто-нибудь помочь?
Вероятно, вы должны просто использовать временную метку
$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('d-m-Y 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