2017-02-13 11 views
1

У меня есть временная метка unix в миллисекундах, как показано ниже.PHP DataContractJsonSerializer format

 $timezone = date_default_timezone_set('Asia/Manila'); 
     $dateTime = DateTime::createFromFormat('m-d-Y H:i:s', '4-5-2015 8:07:27'); 

     $requiredJsonFormat = sprintf(
      '\/Date(%s%s)\/', 
      $dateTime->format('U') * 1000, 
      $dateTime->format('O') 
     ); 

     echo $requiredJsonFormat; 

Вышеуказанный выход будет.

\/Date(1428192447000+0800)\/

Как сделать код выше, чтобы показать выход, как показано ниже.

\/Date(1428192447278+0800)\/"

ответ

0

Кажется, вы пытаетесь выводить микросекунд, а также. В соответствии с php.net это возможно только для DateTime объектов, если вы инициируете его с помощью микросекунд.

$dateTime = DateTime::createFromFormat('m-d-Y H:i:s:u', '4-5-2015 8:07:27:278'); 

Когда вы наденете это, вы также можете получить его.

$requiredJsonFormat = sprintf(
    '\/Date(%s%s%s)\/', 
    $dateTime->format('U'), 
    $dateTime->format('u')/1000, 
    $dateTime->format('O') 
);