您的位置:

Java日期获取

一、Java日期类介绍

Java中的日期类主要有三个:java.util.Date、java.util.Calendar和java.time.LocalDateTime。

java.util.Date表示精确到毫秒的时间点,尽管它的大多数构造方法已在JDK 8中被废弃了。

java.util.Calendar提供了根据时间计算的功能,实现了一种可以对日期进行简单算术操作的抽象方法。

java.time.LocalDateTime是比较新且推荐使用的类,提供了对时间进行各种操作的方法,是Java 8中引入的Java日期/时间API。

二、使用Java.util.Date获取日期

使用Java.util.Date类获取当前日期可以通过以下方式实现:

    Date date = new Date();
    System.out.println(date);

输出结果类似:Sat May 22 14:44:15 CST 2021

也可以使用java.text.SimpleDateFormat对日期格式进行自定义,例如:

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = sdf.format(new Date());
    System.out.println(date);

输出结果类似:2021-05-22 14:44:15

三、使用Java.util.Calendar获取日期

Java.util.Calendar类提供了一系列方法用于对时间计算,获取当前日期等功能。

以下代码可以获取当前日期

    Calendar cal = Calendar.getInstance();
    int year = cal.get(Calendar.YEAR);
    int month = cal.get(Calendar.MONTH) + 1; //月份从0开始,所以需要加1
    int day = cal.get(Calendar.DAY_OF_MONTH);
    System.out.println("当前日期:" + year + "-" + month + "-" + day);

输出结果类似:当前日期:2021-5-22

我们可以通过set()方法来设置某个字段的值,例如

    cal.set(Calendar.YEAR, 2022);
    System.out.println("修改后的日期:" + cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH));

输出结果类似:修改后的日期:2022-5-22

四、使用Java.time.LocalDateTime获取日期

Java.time.LocalDateTime是Java 8中引入的Java日期/时间API,提供了对时间进行各种操作的方法,同时也提供了很多新的类来操作日期。

使用Java.time.LocalDateTime获取当前日期的方法如下:

    LocalDateTime now = LocalDateTime.now();
    System.out.println("当前日期:" + now);

输出结果类似:当前日期:2021-05-22T15:17:14.747

我们可以通过with()方法来修改某个字段的值,例如:

    LocalDateTime now = LocalDateTime.now();
    LocalDateTime after = now.withYear(2022);
    System.out.println("修改后的日期:" + after);

输出结果类似:修改后的日期:2022-05-22T15:17:14.747

五、总结

Java中有多种获取日期的方法,可以根据需求选择不同的类和方法。其中,Java.time.LocalDateTime是比较新且推荐使用的类,提供了对时间进行各种操作的方法,是Java 8中引入的Java日期/时间API,使用时需要注意引入相关的类库。