在Java中使用DateUtils处理时区的方法有两种常见的方式:
Date date = new Date();
TimeZone sourceTimeZone = TimeZone.getTimeZone("GMT");
TimeZone targetTimeZone = TimeZone.getTimeZone("America/New_York");
Date convertedDate = DateUtils.convertTimezone(date, sourceTimeZone, targetTimeZone);
这段代码中,首先创建一个Date对象表示当前时间,然后创建两个TimeZone对象分别表示GMT和美国纽约时区。接着调用DateUtils的convertTimezone方法进行时区转换。
ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("GMT"));
ZonedDateTime convertedDateTime = zonedDateTime.withZoneSameInstant(ZoneId.of("America/New_York"));
Date convertedDate = Date.from(convertedDateTime.toInstant());
这段代码中,首先使用ZonedDateTime类创建一个表示当前时间的对象,并指定时区为GMT。然后调用withZoneSameInstant方法将时区转换为美国纽约时区。最后使用Date类的from方法将ZonedDateTime对象转换为Date对象。