MDL-20781 lib/excellib: add write_date() function
authorFrancois Marier <francois@catalyst.net.nz>
Thu, 12 Nov 2009 01:58:33 +0000 (01:58 +0000)
committerFrancois Marier <francois@catalyst.net.nz>
Thu, 12 Nov 2009 01:58:33 +0000 (01:58 +0000)
lib/excellib.class.php

index 03c5cfdbf4775470736386842f911a6701643c4a..5140b943e92b6ca4fd20a7d649705cc16e157877 100644 (file)
@@ -197,6 +197,23 @@ class MoodleExcelWorksheet {
         $this->pear_excel_worksheet->writeUrl($row, $col, $url, $format);
     }
 
+    /**
+     * Write one date somewhere in the worksheet
+     * @param integer $row    Zero indexed row
+     * @param integer $col    Zero indexed column
+     * @param string  $date   The date to write in UNIX timestamp format
+     * @param mixed   $format The XF format for the cell
+     */
+    function write_date($row, $col, $date, $format=null) {
+    /// Calculate the internal PEAR format
+        $format = $this->MoodleExcelFormat2PearExcelFormat($format);
+    /// Convert the date to Excel format
+        $timezone = get_user_timezone_offset();
+        $value =  ((usertime($date) + (int)($timezone * HOURSECS * 2)) / 86400) + 25569;
+    /// Add  the date safely to the PEAR Worksheet
+        $this->pear_excel_worksheet->writeNumber($row, $col, $value, $format);
+    }
+
     /**
      * Write one formula somewhere in the worksheet
      *