在Java8之前,要获取当前日期和时间,我们通常依赖于各种类,例如SimpleDateFormat,Calendar等。
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class LocalDateJava8 { public static void main(String args[]) { Date date = new Date(); String timeFormatString = "hh:mm:ss a"; DateFormat timeFormat = new SimpleDateFormat(timeFormatString); String currentTime = timeFormat.format(date); System.out.println("Current time: "+currentTime); String dateFormatString = "EEE, MMM d, ''yy"; DateFormat dateFormat = new SimpleDateFormat(dateFormatString); String currentDate = dateFormat.format(date); System.out.println("Current date: "+currentDate); } }
输出结果
Current time: 05:48:34 PM Current date: Wed, Jul 24, '19
从Java8开始,引入了java.time包。它提供了LocalDate,LocalTime,LocalDateTime,MonthDay等类。使用此包的类,您可以通过更简单的方式获取时间和日期。
Java.time.LocalDate-此类表示ISO- 8601日历系统中不带时区的日期对象。now()
此类的方法从系统时钟获取当前日期。
Java.time.LocalTime-此类表示ISO- 8601日历系统中没有时区的时间对象。now()
此类的方法从系统时钟获取当前时间。
Java.time.LocalDateTime-此类表示ISO- 8601日历系统中没有时区的日期时间对象。now()
此类的方法从系统时钟获取当前日期时间。
以下示例使用Java8的java.time包检索当前日期,时间和日期时间值。
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; public class LocalDateJava8 { public static void main(String args[]) { //获取当前日期值 LocalDate date = LocalDate.now(); System.out.println("Current date: "+date); //获取当前时间值 LocalTime time = LocalTime.now(); System.out.println("Current time: "+time); //获取当前日期时间值 LocalDateTime dateTime = LocalDateTime.now(); System.out.println("Current date-time: "+dateTime); } }
输出结果
Current date: 2019-07-24 Current time: 18:08:05.923 Current date-time: 2019-07-24T18:08:05.923