diff options
Diffstat (limited to 'framework/Util')
-rw-r--r-- | framework/Util/TDateTimeStamp.php | 26 | ||||
-rw-r--r-- | framework/Util/TSimpleDateFormatter.php | 11 |
2 files changed, 27 insertions, 10 deletions
diff --git a/framework/Util/TDateTimeStamp.php b/framework/Util/TDateTimeStamp.php index a7a43b3c..f5f76004 100644 --- a/framework/Util/TDateTimeStamp.php +++ b/framework/Util/TDateTimeStamp.php @@ -105,6 +105,30 @@ class TDateTimeStamp /** * @return array an array with date info. */ + function parseDate($txt=false) + { + if ($txt === false) return getdate(); + + $dt = new DateTime($txt); + + return array( + 'seconds' => (int) $dt->format('s'), + 'minutes' => (int) $dt->format('i'), + 'hours' => (int) $dt->format('G'), + 'mday' => (int) $dt->format('j'), + 'wday' => (int) $dt->format('w'), + 'mon' => (int) $dt->format('n'), + 'year' => (int) $dt->format('Y'), + 'yday' => (int) $dt->format('z'), + 'weekday' => $dt->format('l'), + 'month' => $dt->format('F'), + 0 => (int) $dt->format('U'), + ); + } + + /** + * @return array an array with date info. + */ function getDate($d=false,$fast=false) { if ($d === false) return getdate(); @@ -123,7 +147,7 @@ class TDateTimeStamp 'yday' => (int) $dt->format('z'), 'weekday' => $dt->format('l'), 'month' => $dt->format('F'), - 0 => (int) $d + 0 => (int) $dt->format('U'), ); } diff --git a/framework/Util/TSimpleDateFormatter.php b/framework/Util/TSimpleDateFormatter.php index 8b17048a..a1a1842a 100644 --- a/framework/Util/TSimpleDateFormatter.php +++ b/framework/Util/TSimpleDateFormatter.php @@ -173,15 +173,8 @@ class TSimpleDateFormatter */ private function getDate($value) { - if(!is_string($value)) - { - $s = Prado::createComponent('System.Util.TDateTimeStamp'); - return $s->getDate($value); - } - $date = @strtotime($value); - if($date < 0) - throw new TInvalidDataValueException('invalid_date', $value); - return @getdate($date); + $s = Prado::createComponent('System.Util.TDateTimeStamp'); + return $s->parseDate($value); } /** |