|
|
|
|
@ -521,9 +521,9 @@ function api_get_local_time($time = null, $to_timezone = null, $from_timezone = |
|
|
|
|
if (is_int($time)) { |
|
|
|
|
$from_timezone = 'UTC'; |
|
|
|
|
$time = gmdate('Y-m-d H:i:s', $time); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
$date = new DateTime($time, new DateTimezone($from_timezone)); |
|
|
|
|
$date = new DateTime($time, new DateTimezone($from_timezone)); |
|
|
|
|
$date->setTimezone(new DateTimeZone($to_timezone)); |
|
|
|
|
return $date->format('Y-m-d H:i:s'); |
|
|
|
|
} catch (Exception $e) { |
|
|
|
|
@ -580,6 +580,7 @@ function api_format_date($time, $format = null, $language = null) { |
|
|
|
|
|
|
|
|
|
$datetype = null; |
|
|
|
|
$timetype = null; |
|
|
|
|
|
|
|
|
|
if(is_int($format)) { |
|
|
|
|
switch ($format) { |
|
|
|
|
case TIME_NO_SEC_FORMAT: |
|
|
|
|
@ -626,10 +627,12 @@ function api_format_date($time, $format = null, $language = null) { |
|
|
|
|
if (is_null($language)) { |
|
|
|
|
$language = api_get_language_isocode(); |
|
|
|
|
} |
|
|
|
|
$date_formatter = datefmt_create($language, $datetype, $timetype, date_default_timezone_get()); |
|
|
|
|
$date_formatter = datefmt_create($language, $datetype, $timetype, date_default_timezone_get()); |
|
|
|
|
$formatted_date = api_to_system_encoding(datefmt_format($date_formatter, $time), 'UTF-8'); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
// We replace %a %A %b %B masks of date format with translated strings. |
|
|
|
|
|
|
|
|
|
$translated = &_api_get_day_month_names($language); |
|
|
|
|
$date_format = str_replace(array('%A', '%a', '%B', '%b'), |
|
|
|
|
array($translated['days_long'][(int)strftime('%w', $time )], |
|
|
|
|
@ -782,7 +785,7 @@ function date_to_str_ago($date) { |
|
|
|
|
*/ |
|
|
|
|
function api_convert_and_format_date($time = null, $format = null, $from_timezone = null) { |
|
|
|
|
// First, convert the datetime to the right timezone |
|
|
|
|
$datetime = api_get_local_time($time, null, $from_timezone); |
|
|
|
|
$time = api_get_local_time($time, null, $from_timezone); |
|
|
|
|
// Second, localize the date |
|
|
|
|
return api_format_date($time, $format); |
|
|
|
|
} |
|
|
|
|
|