java获取当前时间的方式

一、System.currentTimeMillis()

此方法不受时区影响,得到的结果是时间戳格式的。例如:1626077908175
我们也可以将时间戳格式化,如

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(System.currentTimeMillis());
System.out.println(format);

则该时间戳对应的时间为

2021-07-12 16:20:57

注意:此方法会根据我们的系统时间返回当前值,因为世界各地的时区是不一样的。

二、java.util.Date

java中,获取当前日期最简单的方法之一就是直接实例化位于Java包java.util的Date类

Date date = new Date();

也可以对Date格式化

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(date);
System.out.println(format);

三、Calendar API

Calendar类,专门用于转换特定时刻和日历字段之间的日期和时间。
使用Calendar 获取当前日期和时间非常简单:

Calendar calendar = Calendar.getInstance();

与Date类似,也可以使用SimpleDateFormat格式化

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(calendar.getTime());
System.out.println(format);

四、Date/Time API

Java 8提供了一个全新的API,用以替换java.util.Date和java.util.Calendar。Date / Time API提供了多个类,帮助我们来完成工作,包括:

  • LocalDate
    只是一个日期,没有时间。 这意味着我们只能获得当前日期,但没有一天的具体时间
LocalDate now = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String format = dtf.format(now);
System.out.println(format);

得到的结果: 2021-07-12
格式化的类与之前的不一样,使用的是DateTimeFormatter

  • LocalTime
    LocalTime与LocalDate相反,它只代表一个时间,没有日期。 这意味着我们只能获得当天的当前时间,而不是实际日期:
LocalTime now = LocalTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
String format = dtf.format(now);
System.out.println(format);

得到的结果:16:44:02

  • LocalDateTime
    前两个类的组合,即日期加时间
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format = dtf.format(now);
System.out.println(format);

得到的结果:2021-07-12 16:46:28

  • ZonedDateTime
  • LocalDate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值