110 * {@inheritDoc} |
110 * {@inheritDoc} |
111 */ |
111 */ |
112 public String toString() { |
112 public String toString() { |
113 // if time is floating avoid daylight saving rules when generating |
113 // if time is floating avoid daylight saving rules when generating |
114 // string representation of date.. |
114 // string representation of date.. |
115 if (!(format.getTimeZone() instanceof TimeZone)) { |
115 final java.util.TimeZone timeZone = format.getTimeZone(); |
|
116 if (!(timeZone instanceof TimeZone)) { |
116 if (gmtFormat == null) { |
117 if (gmtFormat == null) { |
117 gmtFormat = (DateFormat) format.clone(); |
118 gmtFormat = (DateFormat) format.clone(); |
118 gmtFormat.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID)); |
119 gmtFormat.setTimeZone(TimeZone.getTimeZone(TimeZones.GMT_ID)); |
119 } |
120 } |
120 if (format.getTimeZone().inDaylightTime(this) |
121 if (timeZone.inDaylightTime(this) |
121 && format.getTimeZone().inDaylightTime(new Date(getTime() - 1))) { |
122 && timeZone.inDaylightTime(new Date(getTime() - 1))) { |
122 |
123 |
123 return gmtFormat.format(new Date(getTime() |
124 return gmtFormat.format(new Date(getTime() |
124 + format.getTimeZone().getRawOffset() |
125 + timeZone.getRawOffset() |
125 + format.getTimeZone().getDSTSavings())); |
126 + timeZone.getDSTSavings())); |
126 // return format.format(new Date(getTime() - format.getTimeZone().getDSTSavings())); |
127 // return format.format(new Date(getTime() - format.getTimeZone().getDSTSavings())); |
127 } |
128 } |
128 // return gmtFormat.format(new Date(getTime() + format.getTimeZone().getOffset(getTime()))); |
129 // return gmtFormat.format(new Date(getTime() + format.getTimeZone().getOffset(getTime()))); |
129 return gmtFormat.format(new Date(getTime() + format.getTimeZone().getRawOffset())); |
130 return gmtFormat.format(new Date(getTime() + timeZone.getRawOffset())); |
130 } |
131 } |
131 return format.format(this); |
132 return format.format(this); |
132 } |
133 } |
133 |
134 |
134 /** |
135 /** |