Changeset 5707 in subversion for trunk/roundcubemail/program/include/main.inc
- Timestamp:
- Jan 4, 2012 7:47:50 AM (17 months ago)
- File:
-
- 1 edited
-
trunk/roundcubemail/program/include/main.inc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/roundcubemail/program/include/main.inc
r5650 r5707 1063 1063 return ''; 1064 1064 1065 if ($convert) { 1066 // get user's timezone offset 1067 $tz = $RCMAIL->config->get_timezone(); 1068 1069 // convert time to user's timezone 1070 $timestamp = $ts - date('Z', $ts) + ($tz * 3600); 1071 1072 // get current timestamp in user's timezone 1073 $now = time(); // local time 1074 $now -= (int)date('Z'); // make GMT time 1075 $now += ($tz * 3600); // user's time 1076 } 1077 else { 1078 $now = time(); 1079 $timestamp = $ts; 1080 } 1065 $date = new DateTime; 1066 $date->setTimestamp($ts); 1067 1068 // convert to the right timezone 1069 $stz = date_default_timezone_get(); 1070 $tz = new DateTimeZone($convert ? $RCMAIL->config->get('timezone') : 'GMT'); 1071 date_default_timezone_set($tz->getName()); 1072 $date->setTimezone($tz); 1073 1074 $timestamp = $date->getTimestamp(); 1081 1075 1082 1076 // define date format depending on current time … … 1099 1093 if (preg_match('/%[a-z]+/i', $format)) { 1100 1094 $format = strftime($format, $timestamp); 1095 date_default_timezone_set($stz); 1101 1096 return $today ? (rcube_label('today') . ' ' . $format) : $format; 1102 1097 } … … 1114 1109 // weekday (short) 1115 1110 else if ($format[$i]=='D') 1116 $out .= rcube_label(strtolower( date('D', $timestamp)));1111 $out .= rcube_label(strtolower($date->format('D'))); 1117 1112 // weekday long 1118 1113 else if ($format[$i]=='l') 1119 $out .= rcube_label(strtolower( date('l', $timestamp)));1114 $out .= rcube_label(strtolower($date->format('l'))); 1120 1115 // month name (short) 1121 1116 else if ($format[$i]=='M') 1122 $out .= rcube_label(strtolower( date('M', $timestamp)));1117 $out .= rcube_label(strtolower($date->format('M'))); 1123 1118 // month name (long) 1124 1119 else if ($format[$i]=='F') 1125 $out .= rcube_label('long'.strtolower( date('M', $timestamp)));1120 $out .= rcube_label('long'.strtolower($date->format('M'))); 1126 1121 else if ($format[$i]=='x') 1127 1122 $out .= strftime('%x %X', $timestamp); 1128 1123 else 1129 $out .= date($format[$i], $timestamp);1124 $out .= $date->format($format[$i]); 1130 1125 } 1131 1126 … … 1141 1136 } 1142 1137 1138 date_default_timezone_set($stz); 1143 1139 return $out; 1144 1140 } … … 1879 1875 function rcmail_user_date() 1880 1876 { 1881 global $RCMAIL , $CONFIG;1877 global $RCMAIL; 1882 1878 1883 1879 // get user's timezone 1884 $tz = $RCMAIL->config->get_timezone(); 1885 1886 $date = time() + $tz * 60 * 60; 1887 $date = gmdate('r', $date); 1888 $tz = sprintf('%+05d', intval($tz) * 100 + ($tz - intval($tz)) * 60); 1889 $date = preg_replace('/[+-][0-9]{4}$/', $tz, $date); 1890 1891 return $date; 1880 $tz = new DateTimeZone($RCMAIL->config->get('timezone')); 1881 1882 $date = new DateTime('now', $tz); 1883 return $date->format('r'); 1892 1884 } 1893 1885
Note: See TracChangeset
for help on using the changeset viewer.
