java如何获取时间
获取当前时间
使用 java.time.LocalDateTime 或 java.util.Date 获取当前时间:
// 使用 Java 8 的 LocalDateTime
LocalDateTime currentTime = LocalDateTime.now();
System.out.println("当前时间: " + currentTime);
// 使用传统的 Date 类
Date date = new Date();
System.out.println("当前时间: " + date);
格式化时间
通过 DateTimeFormatter 或 SimpleDateFormat 将时间格式化为指定字符串:
// Java 8 的 DateTimeFormatter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedTime = currentTime.format(formatter);
System.out.println("格式化时间: " + formattedTime);
// 传统的 SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(date);
System.out.println("格式化时间: " + formattedDate);
解析字符串为时间
将字符串解析为时间对象:
// Java 8 的 LocalDateTime 解析
String timeStr = "2023-10-01 12:30:45";
LocalDateTime parsedTime = LocalDateTime.parse(timeStr, formatter);
System.out.println("解析后的时间: " + parsedTime);
// 传统的 Date 解析
String dateStr = "2023-10-01 12:30:45";
Date parsedDate = sdf.parse(dateStr);
System.out.println("解析后的时间: " + parsedDate);
获取时间戳
获取当前时间的毫秒级或秒级时间戳:
// 毫秒级时间戳(Java 8)
long epochMilli = Instant.now().toEpochMilli();
System.out.println("毫秒级时间戳: " + epochMilli);
// 秒级时间戳(Java 8)
long epochSecond = Instant.now().getEpochSecond();
System.out.println("秒级时间戳: " + epochSecond);
// 传统的 System.currentTimeMillis()
long currentMillis = System.currentTimeMillis();
System.out.println("毫秒级时间戳: " + currentMillis);
时间运算
使用 java.time 进行时间加减操作:
LocalDateTime futureTime = currentTime.plusDays(1).plusHours(2);
System.out.println("1天2小时后的时间: " + futureTime);
LocalDateTime pastTime = currentTime.minusMinutes(30);
System.out.println("30分钟前的时间: " + pastTime);






