2016-02-05 2 views
-1

Я сделал функцию, чтобы получить текущую дату с форматом даты, это код:Не может вернуть текущую дату

function getTimestamp($dateFormat) 
{ 
    $dateFormat = "d-m-Y G:i:s.u"; 
    $originalTime = microtime(true); 
    $micro = sprintf("%06d", ($originalTime - floor($originalTime)) * 1000000); 
    $date = new DateTime(date('d-m-Y H:i:s.'.$micro, $originalTime)); 
    echo $date->format($dateFormat); 
    return $date->format($dateFormat); 
} 

дата Возвращается это:

05-02-2016 0: 28: 05,839051

, но должно быть вместо этого:

05-02-2016 0: 09: 30.839051

что я сделал не так?

+1

код выше возвращается только текущая дата, то есть 05-02-2016, что еще вам нужно? –

+0

@AmitShah да, верните текущую дату, но в моем регионе Италия вернувшийся час неверен: '05-02-2016 0: 28: 05.839051', должен быть возвращен:' 05-02-2016 0: 09: 30.839051 вместо этого. – Dillinger

+1

@AmitShah, я думаю, его проблема связана с временем – Nehal

ответ

1

Используйте это, оно должно решить вашу проблему, установить языковой стандарт.

function getTimestamp($dateFormat) 
{ 
    $dateFormat = "d-m-Y G:i:s.u"; 
    $originalTime = microtime(true); 
    $micro = sprintf("%06d", ($originalTime - floor($originalTime)) * 1000000); 
    $date = new DateTime(date('d-m-Y H:i:s.'.$micro, $originalTime)); 
    $date->setTimezone(new DateTimeZone('Europe/Rome'));  
    echo $date->format($dateFormat); 
    return $date->format($dateFormat); 
} 

сделал модификация чтобы установить часовой пояс.

Благодаря Amit

+0

Нет, ваше решение возвращается: '05-02-2016 0:41: 16.000000' – Dillinger

+0

вы можете использовать новый код, он установит часовой пояс по умолчанию и поможет вам получить то, что вам нужно. –

+0

Да, отлично работает :) спасибо вам! Хороший день :) – Dillinger

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