diff options
author | friendica <info@friendica.com> | 2012-07-11 16:20:17 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-11 16:20:17 -0700 |
commit | 71afdf3d9c8cce686f0b996f4ab08e480edfc5d0 (patch) | |
tree | a5a7288320ae42794380d586cf2d7234bfece299 /include | |
parent | 6105211e73934542b084f20d903b1ff3431df7e9 (diff) | |
download | volse-hubzilla-71afdf3d9c8cce686f0b996f4ab08e480edfc5d0.tar.gz volse-hubzilla-71afdf3d9c8cce686f0b996f4ab08e480edfc5d0.tar.bz2 volse-hubzilla-71afdf3d9c8cce686f0b996f4ab08e480edfc5d0.zip |
gracefully recover from datetime constructor issues
Diffstat (limited to 'include')
-rw-r--r-- | include/datetime.php | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/include/datetime.php b/include/datetime.php index 75ae685f3..9f145e5c7 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -100,8 +100,29 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d return str_replace('1','0',$d->format($fmt)); } - $d = new DateTime($s, new DateTimeZone($from)); - $d->setTimeZone(new DateTimeZone($to)); + try { + $from_obj = new DateTimeZone($from); + } + catch(Exception $e) { + $from_obj = new DateTimeZone('UTC'); + } + + try { + $d = new DateTime($s, $from_obj); + } + catch(Exception $e) { + logger('datetime_convert: exception: ' . $e->getMessage()); + $d = newDateTime('now', $from_obj); + } + + try { + $to_obj = new DateTimeZone($to); + } + catch(Exception $e) { + $to_obj = new DateTimeZone('UTC'); + } + + $d->setTimeZone($to_obj); return($d->format($fmt)); }} |