From 3e3489195fb4d804e65a7a5438c33ac2fe0564b6 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 18 Jun 2012 14:32:09 +0200 Subject: [PATCH] [feature/new-tz-handling] Add a function to get the timestamp of a date The function uses the given timezone and returns the correct UNIX timestamp of it. PHPBB3-9558 --- phpBB/includes/user.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/phpBB/includes/user.php b/phpBB/includes/user.php index a36d837fbd..0990cc601a 100644 --- a/phpBB/includes/user.php +++ b/phpBB/includes/user.php @@ -647,6 +647,21 @@ class phpbb_user extends phpbb_session return new phpbb_datetime($time, $timezone, $this); } + /** + * Get the UNIX timestamp for a datetime in the users timezone, so we can store it in the database. + * + * @param string $format Format of the entered date/time + * @param string $time Date/time with the timezone applied + * @param DateTimeZone $timezone Timezone of the date/time, falls back to timezone of current user + * @return int Returns the unix timestamp + */ + public function get_timestamp_from_format($format, $time, DateTimeZone $timezone = null) + { + $timezone = $timezone ?: $this->tz; + $date = DateTime::createFromFormat($format, $time, $timezone); + return ($date !== false) ? $date->format('U') : false; + } + /** * Get language id currently used by the user */