Skip to content

Commit 1cc0b96

Browse files
committed
Add time zone information for the entered and the current local date and time values
1 parent 50d885a commit 1cc0b96

File tree

2 files changed

+44
-11
lines changed

2 files changed

+44
-11
lines changed

datetime-jsp/datetime.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<head>
44
<title>Get date and time in all supported formats in Java</title>
5+
<h1>Enter date and time values</h1>
56
</head>
67

78
<body>

datetime.java

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import java.time.Instant;
22
import java.time.LocalDateTime;
3+
import java.time.ZoneId;
34
import java.time.ZoneOffset;
5+
import java.time.ZonedDateTime;
46
import java.time.format.DateTimeFormatter;
57
import java.util.Scanner;
68

@@ -30,7 +32,7 @@ public static void main(String[] args) {
3032
// GregorianCalendar object to
3133
// LocalDateTime object named
3234
// enteredDateAndTime without time
33-
// zone information
35+
// zone
3436
DateTimeFormatter era1 = DateTimeFormatter.ofPattern("GGG"); // Format the date and time values with specified
3537
// pattern
3638
DateTimeFormatter era2 = DateTimeFormatter.ofPattern("GGGG");
@@ -71,13 +73,23 @@ public static void main(String[] args) {
7173
DateTimeFormatter millisecondOfDay = DateTimeFormatter.ofPattern("A");
7274
DateTimeFormatter nanosecondOfSecond = DateTimeFormatter.ofPattern("n");
7375
DateTimeFormatter nanosecondOfDay = DateTimeFormatter.ofPattern("N");
74-
DateTimeFormatter timezoneId2 = DateTimeFormatter.ofPattern("VV");
76+
DateTimeFormatter timezoneId = DateTimeFormatter.ofPattern("VV");
7577
DateTimeFormatter timezoneName = DateTimeFormatter.ofPattern("z");
76-
DateTimeFormatter timezoneName2 = DateTimeFormatter.ofPattern("zz");
78+
DateTimeFormatter timezoneName2 = DateTimeFormatter.ofPattern("zzzz");
7779
DateTimeFormatter timezoneOffset = DateTimeFormatter.ofPattern("OOOO");
7880
DateTimeFormatter timezoneOffsetZ = DateTimeFormatter.ofPattern("XXXXX");
7981
DateTimeFormatter timezoneOffsetX = DateTimeFormatter.ofPattern("xxxxx");
8082
DateTimeFormatter timezoneOffset2 = DateTimeFormatter.ofPattern("ZZZZZ");
83+
DateTimeFormatter timezoneOffsetZ1 = DateTimeFormatter.ofPattern("ZZZZ");
84+
ZonedDateTime enteredDateAndTimeTimezone = ZonedDateTime.of(enteredDateAndTime, ZoneId.systemDefault());// Get
85+
// time
86+
// zone
87+
// of
88+
// entered
89+
// date
90+
// and
91+
// time
92+
// values
8193
System.out.println("Era: " + era1.format(enteredDateAndTime) + " (" + era2.format(enteredDateAndTime) + ")"
8294
+ " (" + era3.format(enteredDateAndTime) + ")"); // Print the date and time values with formatted date
8395
// and time pattern
@@ -112,22 +124,31 @@ public static void main(String[] args) {
112124
System.out.println("Millisecond of Day: " + millisecondOfDay.format(enteredDateAndTime));
113125
System.out.println("Nanosecond: " + nanosecondOfSecond.format(enteredDateAndTime));
114126
System.out.println("Nanosecond of Day: " + nanosecondOfDay.format(enteredDateAndTime));
115-
LocalDateTime dateAndTimeNow = LocalDateTime.now(); // Get the current date and time based on local computer
116-
// date and time
127+
System.out.println("Time Zone ID: " + timezoneId.format(enteredDateAndTimeTimezone));
128+
System.out.println("Time Zone: " + timezoneName2.format(enteredDateAndTimeTimezone) + " ("
129+
+ timezoneName.format(enteredDateAndTimeTimezone) + ")");
130+
System.out.println("Localized Time Zone Offset: " + timezoneOffset.format(enteredDateAndTimeTimezone) + " ("
131+
+ timezoneOffset2.format(enteredDateAndTimeTimezone) + ")");
132+
System.out.println("Time Zone Offset: " + timezoneOffsetZ.format(enteredDateAndTimeTimezone) + " ("
133+
+ timezoneOffsetX.format(enteredDateAndTimeTimezone) + ")" + " ("
134+
+ timezoneOffsetZ1.format(enteredDateAndTimeTimezone) + ")");
135+
136+
ZonedDateTime dateAndTimeNow = ZonedDateTime.now(); // Get the current date and time based on local computer
137+
// date and time with local time zone
117138
System.out.println("Current Era: " + era1.format(dateAndTimeNow) + " (" + era2.format(dateAndTimeNow) + ")"
118139
+ " (" + era3.format(dateAndTimeNow) + ")"); // Print the formatted date and time values in current
119140
// local date and time
120141
System.out.println("Current Year: " + year1.format(dateAndTimeNow) + " (" + year2.format(dateAndTimeNow) + ")");
121142
System.out.println(
122143
"Current Era Year: " + yearEra.format(dateAndTimeNow) + " (" + yearEra2.format(dateAndTimeNow) + ")");
123144
System.out.println("Current Day of Year: " + dayOfYear.format(dateAndTimeNow));
124-
System.out.println("Month of Year: " + monthOfYear.format(dateAndTimeNow) + " ("
145+
System.out.println("Current Month of Year: " + monthOfYear.format(dateAndTimeNow) + " ("
125146
+ monthOfYear2.format(dateAndTimeNow) + ")" + " (" + monthOfYear3.format(dateAndTimeNow) + ")" + " ("
126147
+ monthOfYear4.format(dateAndTimeNow) + ")");
127148
System.out.println("Current Day of Month: " + dayOfMonth.format(dateAndTimeNow));
128149
System.out.println("Current Quarter: " + quarter.format(dateAndTimeNow) + " (" + quarter2.format(dateAndTimeNow)
129150
+ ")" + " (" + quarter3.format(dateAndTimeNow) + ")");
130-
System.out.println("ISO Week-based Year: " + weekBasedYear.format(dateAndTimeNow) + " ("
151+
System.out.println("Current ISO Week-based Year: " + weekBasedYear.format(dateAndTimeNow) + " ("
131152
+ weekBasedYear2.format(dateAndTimeNow) + ")");
132153
System.out.println("Current Week of Year: " + weekOfYear.format(dateAndTimeNow));
133154
System.out.println("Current Week of Month: " + weekOfMonth.format(dateAndTimeNow));
@@ -148,8 +169,19 @@ public static void main(String[] args) {
148169
System.out.println("Current Millisecond of Day: " + millisecondOfDay.format(dateAndTimeNow));
149170
System.out.println("Current Nanosecond: " + nanosecondOfSecond.format(dateAndTimeNow));
150171
System.out.println("Current Nanosecond of Day: " + nanosecondOfDay.format(dateAndTimeNow));
151-
Instant currentUtcDateAndTime = Instant.now();
152-
LocalDateTime utcDateAndTimeNow = LocalDateTime.ofInstant(currentUtcDateAndTime, ZoneOffset.UTC);
172+
System.out.println("Current Time Zone ID: " + timezoneId.format(dateAndTimeNow));
173+
System.out.println("Current Time Zone: " + timezoneName2.format(dateAndTimeNow) + " ("
174+
+ timezoneName.format(dateAndTimeNow) + ")");
175+
System.out.println("Current Localized Time Zone Offset: " + timezoneOffset.format(dateAndTimeNow) + " ("
176+
+ timezoneOffset2.format(dateAndTimeNow) + ")");
177+
System.out.println("Current Time Zone Offset: " + timezoneOffsetZ.format(dateAndTimeNow) + " ("
178+
+ timezoneOffsetX.format(dateAndTimeNow) + ")" + " (" + timezoneOffsetZ1.format(dateAndTimeNow) + ")");
179+
Instant currentUtcDateAndTime = Instant.now();// Get the current UTC date and time using Instant object
180+
LocalDateTime utcDateAndTimeNow = LocalDateTime.ofInstant(currentUtcDateAndTime, ZoneOffset.UTC);// Convert from
181+
// Instant
182+
// object to
183+
// LocalDateTime
184+
// object
153185
System.out.println("Current UTC Era: " + era1.format(utcDateAndTimeNow) + " (" + era2.format(utcDateAndTimeNow)
154186
+ ")" + " (" + era3.format(utcDateAndTimeNow) + ")"); // Print the formatted date and time values in
155187
// current local date and time
@@ -158,13 +190,13 @@ public static void main(String[] args) {
158190
System.out.println("Current UTC Era Year: " + yearEra.format(utcDateAndTimeNow) + " ("
159191
+ yearEra2.format(utcDateAndTimeNow) + ")");
160192
System.out.println("Current UTC Day of Year: " + dayOfYear.format(utcDateAndTimeNow));
161-
System.out.println("Month of Year: " + monthOfYear.format(utcDateAndTimeNow) + " ("
193+
System.out.println("Current UTC Month of Year: " + monthOfYear.format(utcDateAndTimeNow) + " ("
162194
+ monthOfYear2.format(utcDateAndTimeNow) + ")" + " (" + monthOfYear3.format(utcDateAndTimeNow) + ")"
163195
+ " (" + monthOfYear4.format(utcDateAndTimeNow) + ")");
164196
System.out.println("Current UTC Day of Month: " + dayOfMonth.format(utcDateAndTimeNow));
165197
System.out.println("Current UTC Quarter: " + quarter.format(utcDateAndTimeNow) + " ("
166198
+ quarter2.format(utcDateAndTimeNow) + ")" + " (" + quarter3.format(utcDateAndTimeNow) + ")");
167-
System.out.println("ISO Week-based Year: " + weekBasedYear.format(utcDateAndTimeNow) + " ("
199+
System.out.println("Current UTC ISO Week-based Year: " + weekBasedYear.format(utcDateAndTimeNow) + " ("
168200
+ weekBasedYear2.format(utcDateAndTimeNow) + ")");
169201
System.out.println("Current UTC Week of Year: " + weekOfYear.format(utcDateAndTimeNow));
170202
System.out.println("Current UTC Week of Month: " + weekOfMonth.format(utcDateAndTimeNow));

0 commit comments

Comments
 (0)