Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- php > echo strtotime("2010-12-07T23:00:00.000Z");
- 1291762800
- echo date('c', 1291762800);
- 2010-12-08T00:00:00+01:00
- php > var_dump(DateTime::createFromFormat('c', "2010-12-07T23:00:00.000Z"));
- bool(false)
- php > var_dump(DateTime::createFromFormat(DateTime::ISO8601, "2010-12-07T23:00:00.000Z"));
- bool(false)
- // create ISO8601 dateTime
- $date = DateTime::createFromFormat(DateTime::ISO8601, '2016-07-27T19:30:00Z');
- // set to user's timezone
- $date -> setTimeZone('Asia/Singapore');
- echo $date -> format(DateTime::ISO8601);
- // prints '2016-07-28T03:30:00+0800'
- DateTime::createFromFormat('Y-m-dTH:i:sP', $date)
- <?php
- $dates = array(
- "2010-12-07T23:00:00.000Z",
- "2010-12-07T23:00:00",
- "2010-12-07T23:00:00Z",
- "2010-12-07T23:00:00+01:00",
- (new DateTime("now"))->format(DATE_ATOM)
- );
- foreach($dates as $d) {
- $res = DateTime::createFromFormat(DATE_ATOM, $d);
- echo "try $d: n";
- var_dump($res);
- echo "nn";
- }
- ?>
- <?php
- function parse_iso_8601($iso_8601_string) {
- $results = array();
- $results[] = DateTime::createFromFormat("Y-m-dTH:i:s",$iso_8601_string);
- $results[] = DateTime::createFromFormat("Y-m-dTH:i:s.u",$iso_8601_string);
- $results[] = DateTime::createFromFormat("Y-m-dTH:i:s.uP",$iso_8601_string);
- $results[] = DateTime::createFromFormat("Y-m-dTH:i:sP",$iso_8601_string);
- $results[] = DateTime::createFromFormat(DATE_ATOM,$iso_8601_string);
- $success = array_values(array_filter($results));
- if(count($success) > 0) {
- return $success[0];
- }
- return false;
- }
- // Test
- $dates = array(
- "2010-12-07T23:00:00.000Z",
- "2010-12-07T23:00:00",
- "2010-12-07T23:00:00Z",
- "2010-12-07T23:00:00+01:00",
- (new DateTime("now"))->format(DATE_ATOM)
- );
- foreach($dates as $d) {
- $res = parse_iso_8601($d);
- echo "try $d: n";
- var_dump($res);
- echo "nn";
- }
- ?>
- Y-m-dTH:i:s.uO
- $dateStr = '2015-04-29T11:42:56.000+0400'
- $ISO = 'Y-m-dTH:i:s.uO'
- $date = DateTime::createFromFormat($ISO, $dateStr)
- $format = 'Y-m-dTH:i:s.u+';
- $value = '2017-09-21T10:11:19.026Z'; // jsDate.toUTCString();
- var_dump(DateTime::createFromFormat($format, $value));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement