Time
System.out.println(ZoneId.systemDefault());
System.out.println("Default Locale: " + Locale.getDefault());
America/New_York
Default Locale: en_US
System.out.println("Number of TZs = " + ZoneId.getAvailableZoneIds().size());
ZoneId.getAvailableZoneIds().stream()
.filter(s -> s.startsWith("America/") )
.sorted()
.map(ZoneId::of)
.forEach(result -> System.out.print(result + " "));
Number of TZs = 603
America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/ComodRivadavia America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Atka America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Ciudad_Juarez America/Coral_Harbour America/Cordoba America/Costa_Rica America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Ensenada America/Fort_Nelson America/Fort_Wayne America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Nuuk America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Acre America/Porto_Velho America/Puerto_Rico America/Punta_Arenas America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Rosario America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Virgin America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife
//first day of next month
ZonedDateTime firstOfMonth = ZonedDateTime.now()
.with(TemporalAdjusters.firstDayOfNextMonth());
System.out.printf("First of Next Month = %tD %n", firstOfMonth);
First of Next Month = 07/01/25
LocalDateTime today_DT = LocalDateTime.now();
System.out.println("Before formatting: " + today_DT );
// E : Day of Week, a : AM/PM
DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("E dd-MM-yyyy HH:mm:ss a");
String formattedDate = today_DT.format(myFormatObj);
System.out.println("After formatting: " + formattedDate);
Before formatting: 2025-06-07T14:17:14.616957300
After formatting: Sat 07-06-2025 14:17:14 PM
System.out.println();
LocalDate June5th = LocalDate.of(2025, Month.JUNE, 5);
System.out.println(June5th);
LocalDate June5th_2 = LocalDate.of(2025, 6, 5);
System.out.println(June5th_2);
LocalDate June5th_YD = LocalDate.ofYearDay(2025, 156);
System.out.println(June5th_YD);
LocalDate June5th_Str = LocalDate.parse(("2025-06-05"));
System.out.println(June5th_Str.getYear());
// getMonth is enum value
System.out.println(June5th_Str.getMonth());
// getMonthValue is an int
System.out.println(June5th_Str.getMonthValue());
2025-06-05
2025-06-05
2025-06-05
2025
JUNE
6
System.out.println(June5th_Str.getDayOfWeek());
// getDayOfMonth is an int for day of month
System.out.println(June5th_Str.getDayOfMonth());
// getDayOfYear int 1 to 365
System.out.println(June5th + " is the " +June5th_Str.getDayOfYear() + " day of the year");
LocalDate Jan1st_Str = LocalDate.parse(("2025-01-01"));
System.out.println("2025-01-01 is day: "+ Jan1st_Str.getDayOfYear());
LocalDate Dec31st_Str = LocalDate.parse(("2025-12-31"));
System.out.println("2025-12-31 is day: "+Dec31st_Str.getDayOfYear());
THURSDAY
5
2025-06-05 is the 156 day of the year
2025-01-01 is day: 1
2025-12-31 is day: 365