在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對象。