java 如何获取系统时间
获取系统时间的方法
在Java中,获取系统时间可以通过多种方式实现,以下是几种常见的方法:
使用 java.util.Date 类
Date 类可以获取当前的系统时间,示例代码如下:
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date currentDate = new Date();
System.out.println("Current Date: " + currentDate);
}
}
输出结果为当前的日期和时间,格式为默认的 toString() 格式。
使用 java.time.LocalDateTime(Java 8及以上)
Java 8引入了新的日期时间API(java.time包),LocalDateTime 可以更灵活地获取和处理时间:
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime currentTime = LocalDateTime.now();
System.out.println("Current Time: " + currentTime);
}
}
输出格式为 yyyy-MM-ddTHH:mm:ss.SSS。

使用 java.time.Instant(获取时间戳)
如果需要获取时间戳(UTC时间),可以使用 Instant:
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant timestamp = Instant.now();
System.out.println("Timestamp: " + timestamp);
}
}
输出为ISO-8601格式的UTC时间。
使用 System.currentTimeMillis()
获取当前的毫秒数(从1970年1月1日UTC开始):

public class Main {
public static void main(String[] args) {
long currentMillis = System.currentTimeMillis();
System.out.println("Current Milliseconds: " + currentMillis);
}
}
通常用于计算时间差或性能测试。
格式化输出时间
使用 java.time.format.DateTimeFormatter 可以自定义时间格式:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime currentTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedTime = currentTime.format(formatter);
System.out.println("Formatted Time: " + formattedTime);
}
}
输出为 yyyy-MM-dd HH:mm:ss 格式的时间字符串。
以上方法可以根据具体需求选择使用,推荐使用Java 8及以上的 java.time API,因其功能更强大且线程安全。






