2015-03-02 2 views
1

HI мне нужно добавить 8 часов в то время, которое я отформатированный, как показано нижедобавить несколько часов время с микросекундами PHP

  $t = microtime(true); 
      $micro = sprintf("%06d",($t - floor($t)) * 1000000); 
      $d = new DateTime(date('Y-m-d H:i:s.'.$micro, $t)); 
      $d->format("Y-m-d H:i:s.u") // 2015-03-02 07:37:18.715271 

я использовать этот формат, потому что мне нужно, чтобы показать микросекунды также. Теперь i необходимо добавить 8 часов в этом. Можете ли вы предложить мне, как я могу это сделать.

благодаря

+0

пожалуйста, попробуйте мое решение –

+0

спасибо теперь работает отлично. :) –

ответ

1
$t = microtime(true); 
$micro = sprintf("%06d",($t - floor($t)) * 1000000); 
$d = new DateTime(date('Y-m-d H:i:s.'.$micro, $t)); 
print $date = $d->format("Y-m-d H:i:s.u"); 
print $new_time = date("Y-m-d H:i:s".$micro, strtotime($date.'+8 hours')); 
+0

tghanks для ответа, но есть одна проблема после 8 часов, это сделать 2015-03-02 15: 57: 42.00000 время, как это я имею в виду, что он делает microseonds все 0. Пожалуйста, проверьте –

+1

Простите, попробуйте сейчас. Виноват. Я исправил проблему –

+0

Microseconds (добавлен в PHP 5.2.2). Обратите внимание, что date() всегда генерирует 000000, так как принимает целочисленный параметр, тогда как DateTime :: format() поддерживает микросекунды. –

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