总结java里面关于获取当前时间的一些方法

System.currentTimeMillis()

获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的。例如:

1543105352845

我们可以将时间戳转化成我们易于理解的格式

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");

Date date = new Date(System.currentTimeMillis());

System.out.println(formatter.format(date));

则该时间戳对应的时间为:

2018-11-25 at 01:22:12 CET

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

java.util.Date

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

Date date = new Date(); // this object contains the current date value

上面获取到的日期也可以被format成我们需要的格式,例如:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");

System.out.println(formatter.format(date));

Calendar API

Calendar类,专门用于转换特定时刻和日历字段之间的日期和时间。

使用Calendar 获取当前日期和时间非常简单:

Calendar calendar = Calendar.getInstance(); // gets current instance of the calendar

与date一样,我们也可以非常轻松地format这个日期成我们需要的格式

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");

System.out.println(formatter.format(calendar.getTime()));

上面代码打印的结果如下:

25-11-2018 00:43:39

Date/Time API

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

LocalDate

LocalTime

LocalDateTime

ZonedDateTime

LocalDate

LocalDate只是一个日期,没有时间。 这意味着我们只能获得当前日期,但没有一天的具体时间。

LocalDate date = LocalDate.now(); // gets the current date

我们可以format它

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");

System.out.println(date.format(formatter));

得到的结果只有年月日,例如:

25-11-2018

LocalTime

LocalTime与LocalDate相反,它只代表一个时间,没有日期。 这意味着我们只能获得当天的当前时间,而不是实际日期:

LocalTime time = LocalTime.now(); // gets the current time

可以按如下方式format

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");

System.out.println(time.format(formatter));

得到的结果类似如下:

00:55:58

LocalDateTime

最后一个是LocalDateTime,也是Java中最常用的Date / Time类,代表前两个累的组合 - 即日期和时间的值:

LocalDateTime dateTime = LocalDateTime.now(); // gets the current date and time

format的方式也一样

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");

System.out.println(dateTime.format(formatter));

得到的日期结果类似于:

25-11-2018 00:57:20

总结

以上所述是小编给大家介绍的java 获取当前时间的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

java当前时间_java 获取当前时间的三种方法相关推荐

  1. java 当前类_Java获取当前类名的两种方法

    适用于非静态方法:this.getClass().getName() 适用于静态方法:Thread.currentThread().getStackTrace()[1].getClassName() ...

  2. java 获取键盘点击_Java中获取键盘输入值的三种方法介绍

    程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...

  3. java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)

    Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...

  4. Nginx/Openresty日志时间显示到毫秒级的三种方法(不改源码)

    Nginx/Openresty日志时间显示到毫秒级的三种方法(不改源码) 方法一 :set (只能在server节点内) 方法二: set_by_lua (只能在server节点内) 方法三: map ...

  5. JS基础-Java Class类以及获取Class实例的三种方式

    JS基础-Java Class类以及获取Class实例的三种方式 由于JVM为每个加载的class创建了对应的Class实例,并在实例中保存了该class的所有信息,包括类名.包名.父类.实现的接口. ...

  6. 反射:获取Class类的三种方法

    反射:获取Class类的三种方法 // 1.Class类中的一个静态方法:forName(全限名:包名 + 类名) Class c = Class.forName(路径); System.out.pr ...

  7. java 获取随机数字的三种方法

    1 //方法1 (数据类型) 2 //(最小值+Math.random()*(最大值-最小值+1)) 3 // 例: 4 (int)(1+Math.random()*(10-1+1)) //从1到10 ...

  8. java中三种方法_Java文件I/O的三种方法

    Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...

  9. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

最新文章

  1. 【转】arm和x86的区别
  2. Light Head R-CNN论文笔记
  3. 卸载chrome_Chrome 浏览器必备“扩展管理工具”,一键管理 Chrome 扩展
  4. webpack打包vue2.0项目时必现问题
  5. features its own
  6. 简单的抽奖function
  7. 【Webcam设计】总结与代码仓库
  8. JAVA 基础练习题
  9. 三星s9刷android原生6,【极光ROM】-【三星S9/S9+ G9600/G9650-845】-【V22.0 Android-Q-TF6】...
  10. 我的回忆录:如何成为会写书的程序员?
  11. SQL笔面试题:如何求取中位数?
  12. mysql 联合主键自增_mysql auto_increment 与 联合主键冲突问题
  13. 组播IGMP 自学笔记
  14. 各个国家的人有什么特点?
  15. 深度学习方向写会议期刊论文的一些笔记
  16. 【教程】笔记本装Win10+Deepin双系统|详细
  17. QVGA/HVGA/WVGA/FWVGA分辨率屏含义及大小
  18. 卡巴斯基实验室被独立研究机构评选为领导者
  19. 【指纹识别】基于模板匹配算法实现指纹录入打卡系统附matlab代码
  20. 生化危机 android,生化危机4安卓版

热门文章

  1. 内容井喷,营销加码,2020网络电影的热趋势与冷观察
  2. 瑞芯微RV1126/1109开发流程之模型转换
  3. C语言练习题 阳阳买苹果
  4. spring boot + spring mvc 原理解析
  5. VirtualBox 中给虚拟机设置IP
  6. weui组件库、分包加载、开放能力、云开发
  7. 免费节点2:使用捷径添加_盒子:找到性能瓶颈的捷径
  8. 车联网上云最佳实践(五)
  9. centos如何编译c语言文件,centos如何编译c语言代码
  10. 计算机专业英文简历和求职信,计算机专业英文求职信范本 办公自动化专业个人英文简历范文...