diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-09-22 15:03:28 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-09-22 15:03:28 +0200 |
commit | 814114ab8eda5d383f4c620f3854cfefcdb6895d (patch) | |
tree | e80442b93a34f22fa85cc6fbedd233954cd6f889 /lib/private/util.php | |
parent | f4eae03f20674423cbe9034fdbeb30125157e6fc (diff) | |
download | nextcloud-server-814114ab8eda5d383f4c620f3854cfefcdb6895d.tar.gz nextcloud-server-814114ab8eda5d383f4c620f3854cfefcdb6895d.zip |
enhance formatDate function to accept an optional argument containing the time zone
Diffstat (limited to 'lib/private/util.php')
-rwxr-xr-x | lib/private/util.php | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/private/util.php b/lib/private/util.php index c5483c1654b..4d1287bcc85 100755 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -383,16 +383,26 @@ class OC_Util { * * @param int $timestamp * @param bool $dateOnly option to omit time from the result + * @param DateTimeZone|string $timeZone where the given timestamp shall be converted to * @return string timestamp * @description adjust to clients timezone if we know it */ - public static function formatDate( $timestamp, $dateOnly = false) { - if(\OC::$server->getSession()->exists('timezone')) { - $systemTimeZone = intval(date('O')); - $systemTimeZone = (round($systemTimeZone / 100, 0) * 60) + ($systemTimeZone % 100); - $clientTimeZone = \OC::$server->getSession()->get('timezone') * 60; - $offset = $clientTimeZone - $systemTimeZone; - $timestamp = $timestamp + $offset * 60; + public static function formatDate($timestamp, $dateOnly = false, $timeZone = null) { + if (is_null($timeZone)) { + if (\OC::$server->getSession()->exists('timezone')) { + $systemTimeZone = intval(date('O')); + $systemTimeZone = (round($systemTimeZone / 100, 0) * 60) + ($systemTimeZone % 100); + $clientTimeZone = \OC::$server->getSession()->get('timezone') * 60; + $offset = $clientTimeZone - $systemTimeZone; + $timestamp = $timestamp + $offset * 60; + } + } else { + if (!$timeZone instanceof DateTimeZone) { + $timeZone = new DateTimeZone($timeZone); + } + $dt = new DateTime("@$timestamp"); + $offset = $timeZone->getOffset($dt); + $timestamp += $offset; } $l = \OC::$server->getL10N('lib'); return $l->l($dateOnly ? 'date' : 'datetime', $timestamp); |