Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีดึงวันที่และเวลาใน JShell ของ Java 9

JShell เป็น command-line tool แบบโต้ตอบ เรียน ตรวจสอบ สำรวจภาษา Java และ API ได้ พิมพ์โค้ด Java ที่ถูกต้องใดๆ เข้า console ได้ผลทันที ไม่ต้องเขียน verbose class พร้อม main() method

ตัวอย่าง: ดูวันที่และเวลาปัจจุบัน

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> new Date()
$1 ==> Fri Feb 28 11:59:23 IST 2020

ตัวอย่าง: ดู milliseconds จาก epoch

jshell> new Date().getTime()
$2 ==> 1582871487654

jshell> System.currentTimeMillis()
$3 ==> 1582871513421

jshell> new Date(1582871513421L)
$4 ==> Fri Feb 28 12:01:53 IST 2020

ตัวอย่าง: ใช้ java.time API (Modern)

jshell> java.time.Instant.now()
$5 ==> 2020-02-28T07:07:33.941720100Z

jshell> java.time.LocalDate.now()
$6 ==> 2020-02-28

jshell> java.time.LocalTime.now()
$7 ==> 12:07:33.941720100

jshell> java.time.LocalDateTime.now()
$8 ==> 2020-02-28T12:07:33.941720100

jshell> java.time.ZonedDateTime.now()
$9 ==> 2020-02-28T12:07:33.941720100+05:30[Asia/Kolkata]

สรุป Date/Time APIs ใน JShell

Classคำอธิบายตัวอย่าง
java.util.DateLegacy date/time (mutable)new Date()
java.time.InstantUTC timestamp (immutable)Instant.now()
java.time.LocalDateวันที่โดยไม่มีเวลา/โซนLocalDate.now()
java.time.LocalTimeเวลาโดยไม่มีวันที่/โซนLocalTime.now()
java.time.LocalDateTimeวันที่+เวลา ไม่มีโซนLocalDateTime.now()
java.time.ZonedDateTimeวันที่+เวลา+โซนเวลาZonedDateTime.now()
java.time.OffsetDateTimeวันที่+เวลา+offsetOffsetDateTime.now()

แนะนำใช้ java.time package (JSR-310) ซึ่งเป็น modern API immutable และ thread-safe