wp/wp-includes/IXR/class-IXR-date.php
changeset 7 cf61fcea0001
child 16 a86126ab1dd4
equal deleted inserted replaced
6:490d5cc509ed 7:cf61fcea0001
       
     1 <?php
       
     2 
       
     3 /**
       
     4  * IXR_Date
       
     5  *
       
     6  * @package IXR
       
     7  * @since 1.5.0
       
     8  */
       
     9 class IXR_Date {
       
    10     var $year;
       
    11     var $month;
       
    12     var $day;
       
    13     var $hour;
       
    14     var $minute;
       
    15     var $second;
       
    16     var $timezone;
       
    17 
       
    18 	/**
       
    19 	 * PHP5 constructor.
       
    20 	 */
       
    21     function __construct( $time )
       
    22     {
       
    23         // $time can be a PHP timestamp or an ISO one
       
    24         if (is_numeric($time)) {
       
    25             $this->parseTimestamp($time);
       
    26         } else {
       
    27             $this->parseIso($time);
       
    28         }
       
    29     }
       
    30 
       
    31 	/**
       
    32 	 * PHP4 constructor.
       
    33 	 */
       
    34 	public function IXR_Date( $time ) {
       
    35 		self::__construct( $time );
       
    36 	}
       
    37 
       
    38     function parseTimestamp($timestamp)
       
    39     {
       
    40         $this->year = date('Y', $timestamp);
       
    41         $this->month = date('m', $timestamp);
       
    42         $this->day = date('d', $timestamp);
       
    43         $this->hour = date('H', $timestamp);
       
    44         $this->minute = date('i', $timestamp);
       
    45         $this->second = date('s', $timestamp);
       
    46         $this->timezone = '';
       
    47     }
       
    48 
       
    49     function parseIso($iso)
       
    50     {
       
    51         $this->year = substr($iso, 0, 4);
       
    52         $this->month = substr($iso, 4, 2);
       
    53         $this->day = substr($iso, 6, 2);
       
    54         $this->hour = substr($iso, 9, 2);
       
    55         $this->minute = substr($iso, 12, 2);
       
    56         $this->second = substr($iso, 15, 2);
       
    57         $this->timezone = substr($iso, 17);
       
    58     }
       
    59 
       
    60     function getIso()
       
    61     {
       
    62         return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second.$this->timezone;
       
    63     }
       
    64 
       
    65     function getXml()
       
    66     {
       
    67         return '<dateTime.iso8601>'.$this->getIso().'</dateTime.iso8601>';
       
    68     }
       
    69 
       
    70     function getTimestamp()
       
    71     {
       
    72         return mktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year);
       
    73     }
       
    74 }