java 如何获取系统时间
获取系统时间的常用方法
使用 java.time 包(Java 8及以上推荐)
Java 8引入了新的日期时间API(java.time),提供了更简洁和线程安全的方式获取系统时间。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
// 获取当前日期和时间
LocalDateTime now = LocalDateTime.now();
System.out.println("当前时间: " + now);
// 格式化输出
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedTime = now.format(formatter);
System.out.println("格式化时间: " + formattedTime);
使用 System.currentTimeMillis()
返回自1970年1月1日UTC以来的毫秒数,适合需要时间戳的场景。

long currentTimeMillis = System.currentTimeMillis();
System.out.println("时间戳(毫秒): " + currentTimeMillis);
使用 java.util.Date(旧版API)
虽然仍可用,但已不推荐在新代码中使用。
import java.util.Date;
Date currentDate = new Date();
System.out.println("旧版Date时间: " + currentDate);
使用 Calendar(旧版API)
提供更多日期操作功能,但同样属于旧版API。
import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
System.out.printf("当前时间: %02d:%02d%n", hour, minute);
注意事项
- 时区处理:若需指定时区,可使用
ZonedDateTime(Java 8+)或Calendar.setTimeZone()。 - 性能:高频调用时,
System.currentTimeMillis()比创建对象更高效。 - 格式化:推荐使用
DateTimeFormatter替代旧的SimpleDateFormat(线程不安全)。
示例代码可直接运行,根据需求选择合适的方法。






