作为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,因为它更加简洁、易读、线程安全,并且可以避免一些常见的日期时间问题。