Java中如何获取系统时间的方法
发布时间:2023-06-17 09:25:29
在Java中获取系统时间的方法有多种,下面介绍常用的四种方法。
1. Date类
Date类是Java中最基本的日期和时间类,可以使用它获取系统时间。使用无参构造函数创建Date对象时,它会自动被设置为当前的系统时间:
Date date = new Date(); System.out.println(date);
以上代码会输出当前的系统时间,格式为"Mon Sep 27 18:41:35 CST 2021"。
如果需要获取当前时间的毫秒数,则可以调用Date对象的getTime()方法:
long time = date.getTime(); System.out.println(time);
2. System类
System类中有一个静态方法currentTimeMillis(),该方法返回当前时间与1970年1月1日0点经过的毫秒数之和,即所谓的Unix时间戳。可以通过该方法获取系统时间的毫秒数,然后再通过Date类进行格式化输出。
long time = System.currentTimeMillis(); Date date = new Date(time); System.out.println(date);
以上代码会输出当前的系统时间,格式与Date类一样。
3. Calendar类
Calendar类是Java中的日历类,可以用它获取系统时间。调用Calendar类的getInstance()方法,返回一个Calendar对象,该对象是用当前系统时间初始化的,然后从Calendar对象中获取年、月、日、时、分、秒等信息,格式化输出即可。
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.printf("%04d-%02d-%02d %02d:%02d:%02d", year, month + 1, day, hour, minute, second);
以上代码会输出当前的系统时间,格式为"2021-09-27 19:05:59"。
4. LocalDateTime类
Java 8中新增了一个日期时间API,提供了一种便捷的方式获取系统时间。LocalDateTime类是这个API中的一个类,可以使用它获取当前的系统时间。使用now()方法获取当前时间,然后再格式化输出即可。
LocalDateTime now = LocalDateTime.now();
System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
以上代码会输出当前的系统时间,格式与Calendar类一样。
