您的位置:

Java获取年月日的方法详解

作为Java程序员,获取年月日无疑是我们编程中最常用的操作之一。在Java中,获取年月日有多种方法。

一、使用Java.util.Date

Java.util.Date是Java中最常用的日期类之一,可以获取当前日期和时间。


import java.util.Date;
import java.text.SimpleDateFormat;

public class DateDemo {

   public static void main(String args[]) {
      
      // 创建 Date 对象
      Date date = new Date();
      
      // 使用 toString() 函数显示日期时间
      System.out.println(date.toString());
      
      // 使用 SimpleDateFormat 格式化日期
      SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
      System.out.println("当前日期为:" + ft.format(date));
   }
}

使用SimpleDateFormat类的format()函数将日期格式化。

二、使用Java.time.LocalDate

Java.time.LocalDate是Java 8引入的新日期时间API,也可以用于获取当前年份、月份和日期。


import java.time.LocalDate;

public class LocalDateDemo {

   public static void main(String[] args) {
      LocalDate date = LocalDate.now();
      System.out.println(date);
   }
}

三、使用Java.time.LocalDateTime

Java.time.LocalDateTime可以获取当前年份、月份、日期、小时、分钟和秒。


import java.time.LocalDateTime;

public class LocalDateTimeDemo {

   public static void main(String[] args) {
      LocalDateTime currentDateTime = LocalDateTime.now();
      System.out.println("Current DateTime: " + currentDateTime);
   }
}

四、使用Calendar类

Java.util.Calendar类也可以获取当前的年份、月份和日期。


import java.util.Calendar;

public class CalendarDemo {

   public static void main(String[] args) {
      Calendar calendar = Calendar.getInstance();
      System.out.println("年份: " + calendar.get(Calendar.YEAR));
      System.out.println("月份: " + (calendar.get(Calendar.MONTH) + 1));
      System.out.println("日期: " + calendar.get(Calendar.DATE));
   }
}

五、使用Java.time.format.DateTimeFormatter类

Java.time.format.DateTimeFormatter类可以将日期格式化为指定的字符串。


import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateTimeFormatterDemo {

   public static void main(String[] args) {
      LocalDate date = LocalDate.now();
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
      String formattedDate = date.format(formatter);
      System.out.println("Formatted Date: " + formattedDate);
   }
}

六、使用SimpleDateFormat类解析日期字符串

SimpleDateFormat类也可以解析日期字符串。


import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {

   public static void main(String[] args) {
      String dateString = "2021-07-18";
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
      Date date = null;
      try {
         date = format.parse(dateString);
      } catch (Exception e) {
         e.printStackTrace();
      }
      System.out.println(date);
   }
}

七、使用Java.sql.Date获取当前日期

Java.sql.Date可以获取当前日期,但是不包含时间。


import java.sql.Date;

public class SqlDateDemo {

   public static void main(String[] args) {
      Date currentDate = new Date(System.currentTimeMillis());
      System.out.println(currentDate);
   }
}

八、使用SimpleDateFormat获取当前时间

SimpleDateFormat类也可以用于获取当前时间。


import java.text.SimpleDateFormat;
import java.util.Calendar;

public class CurrentTimeDemo {

   public static void main(String[] args) {
      Calendar calendar = Calendar.getInstance();
      SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
      String currentDate = formatter.format(calendar.getTime());
      System.out.println(currentDate);
   }
}

总结

以上是Java获取年月日的几种方法,可以根据需要选择适合自己的方法。对于日常使用,推荐使用Java.time包中的新日期时间API,因为它更加简洁、易读、线程安全,并且可以避免一些常见的日期时间问题。