本文目录导读:

- 使用 java.util.Date(旧版,但仍常用)
- 使用 java.util.Calendar(推荐用于旧项目)
- 使用 SimpleDateFormat 格式化日期
- Java 8+ 新日期时间 API(推荐使用)
- 获取时间戳的不同方式
- 推荐使用
我来介绍几种在 Java 中获取时间的常用方法:
使用 java.util.Date(旧版,但仍常用)
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
// 获取当前时间
Date now = new Date();
System.out.println("当前时间: " + now);
// 获取时间戳(毫秒)
long timestamp = now.getTime();
System.out.println("时间戳: " + timestamp);
// 获取各个时间字段(已废弃,不推荐)
int year = now.getYear() + 1900; // 年份需要加1900
int month = now.getMonth() + 1; // 月份从0开始
int day = now.getDate();
System.out.printf("日期: %d年%d月%d日%n", year, month, day);
}
}
使用 java.util.Calendar(推荐用于旧项目)
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 获取 Calendar 实例
Calendar calendar = Calendar.getInstance();
// 获取各个时间字段
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.printf("当前时间: %d年%d月%d日 %d:%d:%d%n",
year, month, day, hour, minute, second);
// 获取星期几
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
System.out.println("今天是: " + weekDays[dayOfWeek - 1]);
}
}
使用 SimpleDateFormat 格式化日期
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatExample {
public static void main(String[] args) {
Date now = new Date();
// 常用日期格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("完整格式: " + sdf1.format(now));
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println("中文格式: " + sdf2.format(now));
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy/MM/dd");
System.out.println("日期格式: " + sdf3.format(now));
SimpleDateFormat sdf4 = new SimpleDateFormat("HH:mm:ss");
System.out.println("时间格式: " + sdf4.format(now));
}
}
Java 8+ 新日期时间 API(推荐使用)
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Java8DateTimeExample {
public static void main(String[] args) {
// 获取当前日期
LocalDate today = LocalDate.now();
System.out.println("当前日期: " + today);
// 获取当前时间
LocalTime now = LocalTime.now();
System.out.println("当前时间: " + now);
// 获取当前日期和时间
LocalDateTime dateTime = LocalDateTime.now();
System.out.println("当前日期时间: " + dateTime);
// 格式化为指定格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = dateTime.format(formatter);
System.out.println("格式化后: " + formatted);
// 获取各个字段
System.out.println("年: " + dateTime.getYear());
System.out.println("月: " + dateTime.getMonthValue());
System.out.println("日: " + dateTime.getDayOfMonth());
System.out.println("时: " + dateTime.getHour());
System.out.println("分: " + dateTime.getMinute());
System.out.println("秒: " + dateTime.getSecond());
}
}
获取时间戳的不同方式
import java.time.Instant;
public class TimestampExample {
public static void main(String[] args) {
// 方法1:System.currentTimeMillis()
long timestamp1 = System.currentTimeMillis();
System.out.println("时间戳(毫秒): " + timestamp1);
// 方法2:Date.getTime()
long timestamp2 = new java.util.Date().getTime();
System.out.println("时间戳(毫秒): " + timestamp2);
// 方法3:Instant(Java 8+)
Instant instant = Instant.now();
long timestamp3 = instant.toEpochMilli();
System.out.println("时间戳(毫秒): " + timestamp3);
}
}
推荐使用
- Java 8+:优先使用
java.time包(LocalDate, LocalTime, LocalDateTime) - 旧项目:使用
java.util.Calendar或java.util.Date - 简单场景:
new Date()配合SimpleDateFormat格式化
java.time 包是不可变的、线程安全的,且API设计更合理,是新项目的首选。
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播