From f440d762001ff7f41c5c7fc85353c7216267538e Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 15 Jul 2012 21:00:11 -0700 Subject: [PATCH] recover from datetime parse issues, inspired by https://github.com/friendica/friendica/pull/396 --- include/datetime.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/include/datetime.php b/include/datetime.php index 75ae685f3a..efcfa0a177 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -100,11 +100,33 @@ 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 = new DateTime('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)); }} + // wrapper for date selector, tailored for use in birthday fields function dob($dob) {