recover from datetime parse issues, inspired by https://github.com/friendica/friendica/pull/396
This commit is contained in:
parent
02d88e7cbe
commit
f440d76200
1 changed files with 24 additions and 2 deletions
|
@ -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));
|
return str_replace('1','0',$d->format($fmt));
|
||||||
}
|
}
|
||||||
|
|
||||||
$d = new DateTime($s, new DateTimeZone($from));
|
try {
|
||||||
$d->setTimeZone(new DateTimeZone($to));
|
$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));
|
return($d->format($fmt));
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
// wrapper for date selector, tailored for use in birthday fields
|
// wrapper for date selector, tailored for use in birthday fields
|
||||||
|
|
||||||
function dob($dob) {
|
function dob($dob) {
|
||||||
|
|
Loading…
Reference in a new issue