6666@ WritesDefaultLocale
6767class DateUtilsTest extends AbstractLangTest {
6868
69+ private static final TimeZone TIME_ZONE_NY = TimeZone .getTimeZone ("America/New_York" );
6970 private static final TimeZone TIME_ZONE_DEFAULT = TimeZone .getDefault ();
7071 private static final TimeZone TIME_ZONE_MET = TimeZone .getTimeZone ("MET" );
7172 private static Date BASE_DATE ;
@@ -139,44 +140,51 @@ public static void classSetup() {
139140 private static Stream <Arguments > testToLocalDateTimeTimeZone () {
140141 // @formatter:off
141142 return Stream .of (
143+ // [1]
142144 Arguments .of (
143145 // -292275055-05-16T16:47:04.192
144146 LocalDateTime .of (-292275055 , 5 , 16 , 16 , 47 , 04 , 192_000_000 ),
145147 new Date (Long .MIN_VALUE ),
146148 TimeZones .GMT
147149 ),
150+ // [2]
148151 Arguments .of (
149152 // +292278994-08-17T07:12:55.807
150153 LocalDateTime .of (292278994 , 8 , 17 , 7 , 12 , 55 , 807_000_000 ),
151154 new Date (Long .MAX_VALUE ),
152155 TimeZones .GMT
153156 ),
157+ // [3]
154158 Arguments .of (
155159 LocalDateTime .ofInstant (Instant .EPOCH , TimeZones .GMT .toZoneId ()),
156- java . sql . Timestamp . valueOf ( " 1970-01-01 00:00:00" ),
160+ Date . from ( LocalDateTime . of ( 1970 , 1 , 1 , 0 , 0 ). atOffset ( ZoneOffset . UTC ). toInstant () ),
157161 TimeZones .GMT
158162 ),
163+ // [4]
159164 Arguments .of (
160165 LocalDateTime .ofInstant (Instant .EPOCH .minus (1 , ChronoUnit .DAYS ), TimeZones .GMT .toZoneId ()),
161- java . sql . Timestamp . valueOf ( " 1969-12-31 00:00:00" ),
166+ Date . from ( LocalDateTime . of ( 1969 , 12 , 31 , 0 , 0 ). atOffset ( ZoneOffset . UTC ). toInstant () ),
162167 TimeZones .GMT
163168 ),
169+ // [5]
164170 Arguments .of (
165171 LocalDateTime .ofInstant (
166172 java .sql .Timestamp .valueOf ("2000-01-01 12:30:45" ).toInstant (),
167- TimeZone . getTimeZone ( "America/New_York" ) .toZoneId ()
173+ TIME_ZONE_NY .toZoneId ()
168174 ),
169175 java .sql .Timestamp .valueOf ("2000-01-01 12:30:45" ),
170- TimeZone . getTimeZone ( "America/New_York" )
176+ TIME_ZONE_NY
171177 ),
178+ // [6]
172179 Arguments .of (
173180 LocalDateTime .ofInstant (
174181 java .sql .Timestamp .valueOf ("2023-03-12 02:30:00" ).toInstant (),
175- TimeZone . getTimeZone ( "America/New_York" ) .toZoneId ()
182+ TIME_ZONE_NY .toZoneId ()
176183 ),
177184 java .sql .Timestamp .valueOf ("2023-03-12 02:30:00" ),
178- TimeZone . getTimeZone ( "America/New_York" )
185+ TIME_ZONE_NY
179186 ),
187+ // [7]
180188 Arguments .of (
181189 LocalDateTime .ofInstant (
182190 java .sql .Timestamp .valueOf ("2023-03-12 02:30:00" ).toInstant (),
@@ -185,37 +193,31 @@ private static Stream<Arguments> testToLocalDateTimeTimeZone() {
185193 java .sql .Timestamp .valueOf ("2023-03-12 02:30:00" ),
186194 null
187195 ),
196+ // [8]
188197 Arguments .of (
189198 LocalDateTime .of (2022 , 12 , 31 , 19 , 0 ),
190- Date .from (LocalDateTime .of (2023 , 1 , 1 , 0 , 0 )
191- .atOffset (ZoneOffset .UTC )
192- .toInstant ()),
193- TimeZone .getTimeZone ("America/New_York" )
199+ Date .from (LocalDateTime .of (2023 , 1 , 1 , 0 , 0 ).atOffset (ZoneOffset .UTC ).toInstant ()),
200+ TIME_ZONE_NY
194201 ),
202+ // [9]
195203 Arguments .of (
196204 LocalDateTime .of (2023 , 3 , 12 , 3 , 0 ),
197- Date .from (LocalDateTime .of (2023 , 3 , 12 , 7 , 0 )
198- .atOffset (ZoneOffset .UTC )
199- .toInstant ()),
200- TimeZone .getTimeZone ("America/New_York" )
205+ Date .from (LocalDateTime .of (2023 , 3 , 12 , 7 , 0 ).atOffset (ZoneOffset .UTC ).toInstant ()),
206+ TIME_ZONE_NY
201207 ),
208+ // [10]
202209 Arguments .of (
203210 LocalDateTime .of (2023 , 1 , 1 , 14 , 0 ),
204- Date .from (LocalDateTime .of (2023 , 1 , 1 , 0 , 0 )
205- .atOffset (ZoneOffset .UTC )
206- .toInstant ()),
211+ Date .from (LocalDateTime .of (2023 , 1 , 1 , 0 , 0 ).atOffset (ZoneOffset .UTC ).toInstant ()),
207212 TimeZone .getTimeZone ("Pacific/Kiritimati" )
208213 )
209214 );
210215 // @formatter:on
211216 }
212217
213218 private DateFormat dateParser ;
214-
215219 private DateFormat dateTimeParser ;
216-
217220 private Date dateAmPm1 ;
218-
219221 private Date dateAmPm2 ;
220222 private Date dateAmPm3 ;
221223 private Date dateAmPm4 ;
@@ -240,6 +242,7 @@ private static Stream<Arguments> testToLocalDateTimeTimeZone() {
240242 private Calendar cal6 ;
241243 private Calendar cal7 ;
242244 private Calendar cal8 ;
245+
243246 @ AfterEach
244247 public void afterEachResetTimeZones () {
245248 TimeZone .setDefault (TIME_ZONE_DEFAULT );
@@ -260,7 +263,6 @@ private void assertDate(final Date date, final int year, final int month, final
260263 public void setUp () throws Exception {
261264 dateParser = new SimpleDateFormat ("MMM dd, yyyy" , Locale .ENGLISH );
262265 dateTimeParser = new SimpleDateFormat ("MMM dd, yyyy H:mm:ss.SSS" , Locale .ENGLISH );
263-
264266 dateAmPm1 = dateTimeParser .parse ("February 3, 2002 01:10:00.000" );
265267 dateAmPm2 = dateTimeParser .parse ("February 3, 2002 11:10:00.000" );
266268 dateAmPm3 = dateTimeParser .parse ("February 3, 2002 13:10:00.000" );
0 commit comments