How do I convert datetime to ISO 8601 in PHP

前端 未结 5 625
悲哀的现实
悲哀的现实 2020-11-27 12:58

How do I convert my time from 2010-12-30 23:21:46 to ISO 8601 date format? (-_-;)

相关标签:
5条回答
  • 2020-11-27 13:27

    If you try set a value in datetime-local

    date("Y-m-d\TH:i",strtotime('2010-12-30 23:21:46'));
    
    //output : 2010-12-30T23:21
    
    0 讨论(0)
  • 2020-11-27 13:39

    How to convert from ISO 8601 to unixtimestamp :

    strtotime('2012-01-18T11:45:00+01:00');
    // Output : 1326883500
    

    How to convert from unixtimestamp to ISO 8601 (timezone server) :

    date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
    // Output : 2012-01-18T11:45:00+01:00
    

    How to convert from unixtimestamp to ISO 8601 (GMT) :

    date_format(date_create('@'. 1326883500), 'c') . "\n";
    // Output : 2012-01-18T10:45:00+00:00
    

    How to convert from unixtimestamp to ISO 8601 (custom timezone) :

    date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
    // Output : 2012-01-18T05:45:00-05:00
    
    0 讨论(0)
  • 2020-11-27 13:39

    You can try this way:

    $datetime = new DateTime('2010-12-30 23:21:46');
    
    echo $datetime->format(DATE_ATOM);
    
    0 讨论(0)
  • 2020-11-27 13:40

    Object Oriented

    This is the recommended way.

    $datetime = new DateTime('2010-12-30 23:21:46');
    
    echo $datetime->format(DateTime::ATOM); // Updated ISO8601
    

    Procedural

    For older versions of PHP, or if you are more comfortable with procedural code.

    echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
    
    0 讨论(0)
  • 2020-11-27 13:43

    After PHP 5 you can use this: echo date("c"); form ISO 8601 formatted datetime.

    http://ideone.com/nD7piL

    Note for comments:

    Regarding to this, both of these expressions are valid for timezone, for basic format: ±[hh]:[mm], ±[hh][mm], or ±[hh].

    But note that, +0X:00 is correct, and +0X00 is incorrect for extended usage. So it's better to use date("c"). A similar discussion here.

    0 讨论(0)
提交回复
热议问题