]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/IXR/class-IXR-date.php
WordPress 4.7
[autoinstalls/wordpress.git] / wp-includes / IXR / class-IXR-date.php
diff --git a/wp-includes/IXR/class-IXR-date.php b/wp-includes/IXR/class-IXR-date.php
new file mode 100644 (file)
index 0000000..7304f60
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * IXR_Date
+ *
+ * @package IXR
+ * @since 1.5.0
+ */
+class IXR_Date {
+    var $year;
+    var $month;
+    var $day;
+    var $hour;
+    var $minute;
+    var $second;
+    var $timezone;
+
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $time )
+    {
+        // $time can be a PHP timestamp or an ISO one
+        if (is_numeric($time)) {
+            $this->parseTimestamp($time);
+        } else {
+            $this->parseIso($time);
+        }
+    }
+
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Date( $time ) {
+               self::__construct( $time );
+       }
+
+    function parseTimestamp($timestamp)
+    {
+        $this->year = date('Y', $timestamp);
+        $this->month = date('m', $timestamp);
+        $this->day = date('d', $timestamp);
+        $this->hour = date('H', $timestamp);
+        $this->minute = date('i', $timestamp);
+        $this->second = date('s', $timestamp);
+        $this->timezone = '';
+    }
+
+    function parseIso($iso)
+    {
+        $this->year = substr($iso, 0, 4);
+        $this->month = substr($iso, 4, 2);
+        $this->day = substr($iso, 6, 2);
+        $this->hour = substr($iso, 9, 2);
+        $this->minute = substr($iso, 12, 2);
+        $this->second = substr($iso, 15, 2);
+        $this->timezone = substr($iso, 17);
+    }
+
+    function getIso()
+    {
+        return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second.$this->timezone;
+    }
+
+    function getXml()
+    {
+        return '<dateTime.iso8601>'.$this->getIso().'</dateTime.iso8601>';
+    }
+
+    function getTimestamp()
+    {
+        return mktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year);
+    }
+}