--- a/busui/owa/modules/base/classes/date.php +++ b/busui/owa/modules/base/classes/date.php @@ -1,1 +1,143 @@ + + * @copyright Copyright © 2008 Peter Adams + * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 + * @category owa + * @package owa + * @version $Revision$ + * @since owa 1.0.0 + */ + + +class owa_date { + + var $yyyymmdd; + var $timestamp; + var $label; + var $label_formal; + var $year; + var $month; + var $day; + var $is_leap_year; + var $day_of_week; + var $day_of_week_label; + var $day_of_year; + var $day_of_year_label; + var $week_of_year; + var $hour; + var $minute; + var $second; + var $microsecond; + var $meridiem; + var $num_days_in_month; + var $utc_offset; + + function __construct() { + + return; + } + + function set($date, $format = 'yyyymmdd') { + + switch ($format) { + + case 'yyyymmdd': + $this->yyyymmdd = $date; + list($this->year, $this->month, $this->day) = sscanf($date, "%4d%2d%2d"); + $this->timestamp = mktime(0, 0, 0, $this->month, $this->day, $this->year); + break; + + case 'timestamp': + $this->timestamp = $date; + $this->yyyymmdd = date('Ymd', $date); + list($this->year, $this->month, $this->day) = sscanf($this->yyyymmdd, "%4d%2d%2d"); + break; + + + } + + $this->utc_offset = date('Z', $this->timestamp); + $this->hour = date('H', $this->timestamp); + $this->minute = date('i', $this->timestamp); + $this->second = date('s', $this->timestamp); + $this->microsecond = date('u', $this->timestamp); + $this->meridiem = date('a', $this->timestamp); + $this->day_of_week = date('w', $this->timestamp); + $this->day_of_week_label = date('l', $this->timestamp); + $this->week_of_year = date('W', $this->timestamp); + $this->day_of_year = date('z', $this->timestamp); + $this->num_days_in_month = date('t', $this->timestamp); + $this->label = date('m/d/Y', $this->timestamp); + $this->label_formal = date('F jS Y', $this->timestamp); + } + + function get($name){ + + return $this->$name; + } + + function getDay() { + return $this->day; + } + + function getMonth() { + return $this->month; + } + + function getYear() { + return $this->year; + } + + function getLabel($format = '') { + + if (empty($format)) { + + $format = 'label'; + + } else { + + $format = 'label_'.$format; + } + + return $this->$format; + } + + function getYyyymmdd() { + + return $this->yyyymmdd; + } + + function getTimestamp() { + + return $this->timestamp; + } + + function getLocalTimestamp() { + + return $this->getTimestamp() + $this->utc_offset; + } +} + + + +?>