2016-12-01 2 views
0

Я использую Highcharts и нужен даты, отформатированные как это:PHP: Преобразование даты на сегодняшний день Javascript (январь = ноль)

UTC.(2016,11,01) // for December 1st 2016 

есть простой способ сделать это? Потому что

date('Y-m-d', strtotime('-1 month')) 

дает мне неправильный результат за январь.

+1

вы можете в конечном итоге также написать, что вход вы даете, что ожидаемый результат и каков реальный результат? – Dragos

+0

Необходимо указать части своей даты отдельно. То, что вы пытаетесь сделать, буквально регулирует дату до более ранней даты, что всегда будет проблематичным. Я объявляю ваш год, месяц и день отдельными переменными (или массивом) и соответствующим образом заполнял их в вашем javascript. – jlbriggs

ответ

0

Вам не нужен суб месяц. Просто используйте другой формат как ATOM/RFC3339. Она полностью поддерживает javascript Date class

$date = new DateTime('2016-01-01'); 
echo $date->format(DateTime::ATOM); 

Результат:

2016-01-01T00:00:00-05:00 

Javascript:

var date = new Date('2016-01-01T00:00:00-05:00'); 
console.log(date) 

Как я живу в Бразилии, мой браузер показать, как

Fri Jan 01 2016 03:00:00 GMT-0200 (Horário brasileiro de verão) 

Если у вас есть какой-либо от ее формат в качестве входных данных, вы можете использовать DateTime::createFromFormat, а остальные до сих пор же

$date = DateTime::createFromFormat('m/d/Y' , '12/01/2016');