java 如何系统当前时间
获取系统当前时间的方法
在Java中,可以通过多种方式获取系统当前时间,以下是几种常用的方法:
使用 java.util.Date
Date 类是Java早期版本中用于表示日期和时间的类,可以获取当前时间:
import java.util.Date;
Date currentDate = new Date();
System.out.println(currentDate);
输出示例:
Thu Jun 13 14:25:30 CST 2024
使用 java.util.Calendar
Calendar 类提供了更灵活的日期和时间操作:
import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
输出格式与 Date 类似,但可以通过 Calendar 的方法获取年、月、日等详细信息。
使用 java.time 包(Java 8及以上推荐)
Java 8引入了新的日期时间API java.time,功能更强大且线程安全:
获取当前日期和时间
import java.time.LocalDateTime;
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println(currentDateTime);
输出示例:

2024-06-13T14:25:30.123
获取当前日期
import java.time.LocalDate;
LocalDate currentDate = LocalDate.now();
System.out.println(currentDate);
输出示例:
2024-06-13
获取当前时间
import java.time.LocalTime;
LocalTime currentTime = LocalTime.now();
System.out.println(currentTime);
输出示例:
14:25:30.123
使用 ZonedDateTime 获取带时区的当前时间
import java.time.ZonedDateTime;
ZonedDateTime zonedDateTime = ZonedDateTime.now();
System.out.println(zonedDateTime);
输出示例:
2024-06-13T14:25:30.123+08:00[Asia/Shanghai]
使用 System.currentTimeMillis()
如果需要获取当前时间的毫秒数(从1970年1月1日UTC开始计算),可以使用:

long currentTimeMillis = System.currentTimeMillis();
System.out.println(currentTimeMillis);
输出示例:
1718267130123
格式化输出时间
可以使用 SimpleDateFormat(旧API)或 DateTimeFormatter(新API)格式化时间:
使用 SimpleDateFormat
import java.text.SimpleDateFormat;
import java.util.Date;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate);
输出示例:
2024-06-13 14:25:30
使用 DateTimeFormatter
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = LocalDateTime.now().format(formatter);
System.out.println(formattedDateTime);
输出示例:
2024-06-13 14:25:30
总结
- 对于新项目,推荐使用
java.time包(Java 8及以上版本)。 - 如果需要兼容旧代码,可以使用
Date或Calendar。 - 如果需要毫秒级时间戳,可以使用
System.currentTimeMillis()。 - 格式化输出时间时,优先使用
DateTimeFormatter(新API)或SimpleDateFormat(旧API)。






