2014-08-27 8 views
-2

Из фрагмента JSON, который я получил из запроса API .net, я не могу правильно преобразовать дату /Date(1393477200000)/ в PHP.Как преобразовать этот формат даты в PHP

Я попытался сделать echo date('m/n/Y','1393477200000');, но он по-прежнему выводит неправильную дату, которая равна 07/7/46127 вместо правильной даты 2/27/2014.

Array 
(
    [status] => ok 
    [results] => Array 
     (
      [0] => Array 
       (
        [PROJECT_ID] => 1 
        [COMPANY_ID] => 1 
        [PROJECT_NAME] => The "Getting Started" Project 
        [PROJECT_NUMBER] => 000001 
        [CAN_OPEN_PROJECT] => 1 
        [DATE_START_DATE] => /Date(1393477200000)/ 
        [DATE_END_DATE] => /Date(1440648000000)/ 
        [PROJECT_DESC] => 
        [TASK_NUMBER] => 6 
        [DATE_CREATED] => /Date(1409142925980)/ 
        [TOTAL_TASKS] => 1 
        [TOTAL_INCOMPLETE_TASKS] => 1 
        [TOTAL_COMPLETED_TASKS] => 0 

Любые идеи относительно того, как правильно отформатировать [DATE_START_DATE] в PHP? Благодаря!

ответ

0

Разделите Unix-метка времени по 1000, затем используйте дату (..).

$date = '1393477200000'; 
echo date("m/d/y", $date/1000); 

Его так просто.

Результат:

02/27/14

+0

спасибо! это сработало! – nancylee973

+0

Рад, что я смог помочь. Пометить как ответ, можно закрыть поэтому. – C4u

0

время получил в миллисекундах ... Вы должны разделить на тысячу, чтобы получить время UNIX эпохи:

echo date('m/d/Y',(1393477200000/1000)); 

А вот fiddle

+0

спасибо! Кажется правильным, но все же не хватает 25 дней. он выводит '02/2/2014', но правильная дата должна быть' 2/27/2014'. – nancylee973

+0

Я обновил ответ и добавил «скрипку», чтобы вы могли увидеть результат самостоятельно. – RichardBernards

0

эхо Дата ('м/д/Y', (1393477200000/1000)); U должен урезать последние 3 цифры.

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