2011-08-05 6 views
13

Mam wartość daty przechowywaną w zmiennej. Muszę wyodrębnić część czasu wartości do oddzielnej zmiennej, a następnie dodać/odjąć od niej czas.Pobierz czas z ciągu daty/czasu

Zmienna data jest ustawiona z datą („YmdHis”), co daje (na przykład) 20110805124000 do 5 sierpnia 2011, 12:40:00

Z wartości 20110805124000 (który jest przechowywany w zmiennej $ na koniec spotkania), Muszę przechowywać czas tylko w formacie 12:40 (tak ignorując rok, miesiąc, dzień i sekundy i dodając dwukropek między godziną a minutą) w zmiennej o nazwie $ shorttime. Następnie muszę dodać liczbę godzin do tego czasu (na przykład +3 godziny zmieniłyby wartość zmiennej $ shorttime na 15:40). Liczba godzin, które muszę dodać, jest przechowywana w zmiennej o nazwie $ addtime, która może być liczbą ujemną.

Czy można to łatwo zrobić? Czy ktoś mógłby pomóc?

Dzięki :)

+1

To dziwny format dla daty i godziny. Powinieneś sprawdzić ISO-8601. – AyexeM

Odpowiedz

-7

Dla PHP < 5,0 rozwiązanie:

<?php 
    $fulltime = '20110805124000'; 
    $addtime = -5; 
    $time = substr($fulltime,8,2).":".substr($fulltime,10,2); 
    $time = date("H:i",strtotime($time) + ($addtime*3600)); 
    echo $time; 
?> 
+0

Dzięki, działało idealnie. – Ross

45
$time = '2013-01-22 10:45:45'; 

echo $time = date("H:i:s",strtotime($time)); 

To da czas 10:45:45 z datetime.

+0

dzięki, to działa dla mnie :) –