create time with format character P in php -
i have utc time 15:00:00
timezone based utc offset +03:00
when tried create new time using utc time+utc offset , shows 12:00:00.
but need time 18:00:00
please give me suggestions.
$utc_offset="+03:00"; date("d m, y h:i a", strtotime("15:00:00 ".$utc_offset))
the code posted parses string '15:00:00 +03:00
.
in plain english, string means "the local time 15:00 (3 pm) , located in timezone 3 hours @ east of gmt/utc". corresponding utc time 12:00
.
it happens php has default timezone set utc (i guess default value in php.ini
, didn't change it). why date()
prints 07 sep, 2016 12:00 pm
.
for me code prints 07 sep, 2016 03:00 pm
because in timezone @ utc+3
, php.ini
uses default.
don't use date()
(or of date/time functions). of them don't know timezone, others work local time.
use datetime
classes instead. can handle timezones , code shorter , more clear.
your concrete problem easy solve:
// parse input time in utc timezone $date = new datetime("15:00:00", new datetimezone("utc")); // change timezone local $date->settimezone(new datetimezone("+03:00")); // output local time echo($date->format("d m, y h:i a"));
it displays:
07 sep, 2016 06:00 pm
read more datetime
, datetimezone
, datetimeinterval
, other datetime classes. modern way of handling date & time in php.
Comments
Post a Comment