本文介绍如何从新的 Java 8 java.time.* 中获取当前日期时间,如 Localdate、LocalTime、LocalDateTime、ZonedDateTime、Instant 以及旧的日期时间 API,如 Date 和 Calendar。

新旧API:

对于新的 Java 8 的java.time.* API,我们可以使用 .now() 获取当前日期时间并使用 DateTimeFormatter 对其进行格式化。 对于传统的日期时间 API,我们可以使用 new Date() 和 Calendar.getInstance() 来获取当前日期时间并使用 SimpleDateFormat 对其进行格式化。

对于 java.time.LocalDate,使用 LocalDate.now()获取当前时间:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd");
LocalDate localDate = LocalDate.now();
System.out.println(dtf.format(localDate));            // 2021/03/22
对于 java.time.localTime,使用 LocalTime.now():
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime localTime = LocalTime.now();
System.out.println(dtf.format(localTime));            // 16:37:15
对于 java.time.LocalDateTime,使用 LocalDateTime.now()
  DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss");LocalDateTime now = LocalDateTime.now();System.out.println(dtf.format(now));                  //  2021/03/22 16:37:15
对于 java.time.ZonedDateTime,使用 ZonedDateTime.now()
  // get current date-time, with system default time zoneDateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss");ZonedDateTime now = ZonedDateTime.now();System.out.println(dtf.format(now));                  // 2021/03/22 16:37:15System.out.println(now.getOffset());                  // +08:00// get current date-time, with a specified time zoneZonedDateTime japanDateTime = now.withZoneSameInstant(ZoneId.of("Asia/Tokyo"));System.out.println(dtf.format(japanDateTime));        // 2021/03/22 17:37:15System.out.println(japanDateTime.getOffset());        // +09:00

对于 java.time.Instant,使用 Instant.now()

  Instant now = Instant.now();// convert Instant to ZonedDateTimeDateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss");ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(now, ZoneId.systemDefault());System.out.println(dtfDateTime.format(zonedDateTime));

对于 java.util.Date,使用 new Date()

  DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Date date = new Date();System.out.println(dateFormat.format(date));           // 2021/03/22 16:37:15

对于 java.util.Calendar,使用 Calendar.getInstance()

  DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Calendar cal = Calendar.getInstance();System.out.println(dateFormat.format(cal.getTime()));  // 2021/03/22 16:37:15

Java:如何获取当前时间相关推荐

  1. java 如何获取当前时间到夜晚12点的毫秒差值

    1. java 如何获取当前时间到凌晨12点的毫秒差值 这里有个坑人的地方就是小时的设置,HOUR区分上午和下午,不是我们要的, HOUR_OF_DAY是24小时制的,符合我们的需要. Calenda ...

  2. java如何获取当前时间 年月日 时分秒

    需要导包 import java.text.SimpleDateFormat; import java.util.*; 获取当前时间,并格式化为(年-月-日 时:分:秒). Date date = n ...

  3. Java中获取当前时间

    Java中获取当前时间 1)获取当前时间.返回类型为long类型,这个值其实是距离 1970-01-01 00:00:00 相差的毫秒数 import java.util.Date;public cl ...

  4. java如何获取当前时间到第二天凌晨的秒数

    java如何获取当前时间到第二天凌晨的秒数 原因:前两天写了一个接口,redis缓存有效时间设置到第二天的凌晨中遇到一个坑,这里记录一下. 坑在这里 public Long getSecondsNex ...

  5. java joda 获取utc时间_java – 使用JodaTime以毫秒为单位的UTC到本地时间

    我试图使用Jodatime显示特定时间段内的交易. 我们的服务器要求开始日期和结束日期为UTC(这可能是显而易见的).因此,围绕它们的任何业务逻辑都使用DateTime对象,时区设置为DateTime ...

  6. 在java中获取当前时间_JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

  7. java中获取指定时间的时间戳

    在 Java 中,可以使用 Instant 类来获取指定时间的时间戳. 首先,你需要使用 ZonedDateTime 类来表示指定的时间.你可以使用 ZonedDateTime.of 方法来创建一个 ...

  8. 【Java】获取当前时间(毫秒级)

    Java获取当前时间(毫秒级) 第一种方法 System.out.println( System.currentTimeMillis() ); 第二种方法 Date date = new Date() ...

  9. 我的JAVA笔记--获取当前时间

    获取当前时间的几个方法: 1 import java.util.Date; public class DateDemo { public static void main(String args[]) ...

  10. Java如何获取系统时间

    本篇文章给大家介绍一下Java获取系统时间的四种方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 1.通过Date类来获取当前时间 Date day=new Date(); Si ...

最新文章

  1. Web 服务器-Apache详解
  2. LeetCode刷题——最长回文子串
  3. java传参数的方法_java中方法的参数传递机制
  4. 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
  5. Ubuntu18.04上手配置入门指南
  6. 车贷P2P平台设计市场需求文档(MRD)
  7. cocos2d-x之使用plist文件初试
  8. 如何开发一款可以删除个人信息的社交软件?小扎做到了!
  9. ELK下钉钉邮件告警通知
  10. echarts 系列一
  11. mysql odbc 没有_如何解决mysql odbc安装丢失的问题
  12. MATLAB规划和LINGO规划,[数学建模]线性规划与matlab,lingo解法
  13. 计算机网络笔记(一):网络基本构成
  14. 编写基础程序:Hello World
  15. python +appium实现原理_Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)...
  16. PS制作五彩抽象人像
  17. 92_特殊方法(魔术方法)和运算符重载
  18. SpringSecurity(二)、权限项目框架搭建
  19. FastASR离线语音识别库
  20. 《Adobe Fireworks CS5中文版经典教程》——1.4 配置面板和面板组

热门文章

  1. rockchip uboot kernel logo制作方法
  2. 用STATECAD快速设计有限状态机
  3. 什么是NIO?10分钟带你看懂IO和NIO底层原理
  4. 环信PaaS+SaaS齐头并进,打造最具生命力企业服务
  5. 让CiteSpace安装后的界面字体变大
  6. 为了追你,谈谈自我学习历程,
  7. with recursive 递归查询
  8. RocketMQ源码(4)—Broker启动加载消息文件以及恢复数据源码【一万字】
  9. 机器学习:查准率(Precision)和查全率(Recall)
  10. 《软件性能测试、分析与调优实践之路》学习