Java对时间进行操作(LocalDateTime,Calendar)
题记:
Java的时间日期API一直以来都是被诟病的东西,为了解决这一问题,Java 8中引入了新的时间日期API,其中包括LocalDate、LocalTime、LocalDateTime、Clock、Instant等类,这些的类的设计都使用了不变模式,因此是线程安全的设计。
一、如下有详细的说明:
package com.gws; import java.text.SimpleDateFormat; import java.time.Clock; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; /** * @author:wangdong * @description:Java对日期和时间的处理 */ public class DateTimeTest { public static void main(String[] args) { //一、获取当前年月日时分秒 //在Jdk8之前可以用Calendar对时间做处理 // 创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值 //实例化Calendar Calendar calendar = Calendar.getInstance(); //获取年份 System.out.println(calendar.get(Calendar.YEAR)); //获取月份,注意这个方法Calendar.MONTH,获取的值是0-11 //例如我是4月19执行的值,输出是3 System.out.println(calendar.get(Calendar.MONTH)); //获取当月日期 System.out.println(calendar.get(Calendar.DATE)); //获取当天的值 //Field number for <code>get</code> and <code>set</code> indicating the //hour of the day. <code>HOUR_OF_DAY</code> is used for the 24-hour clock. //E.g., at 10:04:15.250 PM the <code>HOUR_OF_DAY</code> is 22 //pm下午十点就是对应22,我现在是在下午7点多执行的程序,输出的是19 System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); //获取当前的分钟,当前58 System.out.println(calendar.get(Calendar.MINUTE)); //获取当前的秒 System.out.println(calendar.get(Calendar.SECOND)); //获取当前年月日时分秒 //在jdk8时候,引入了一个新的类,LocalDateTime //例如获取当前的年月日时分秒 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime.getYear()); //这个的月份是从1-12月份表示的 //获取的是英文 System.out.println(localDateTime.getMonth()); //获取的是中文 System.out.println(localDateTime.getMonthValue()); System.out.println(localDateTime.getDayOfMonth()); System.out.println(localDateTime.getHour()); System.out.println(localDateTime.getMinute()); System.out.println(localDateTime.getSecond()); //二、取得从1970年1月1日0时0分0秒到现在的毫秒数 //获取毫秒 System.out.println(Calendar.getInstance().getTimeInMillis()); System.out.println(System.currentTimeMillis()); //Jdk8,Clock获取毫秒 System.out.println(Clock.systemDefaultZone().millis()); //三、获取当月的最后一天 System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); //四、怎么格式化日期 //java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化。 //Java 8中可以用java.time.format.DateTimeFormatter来格式化时间日期,代码如下所示。 //按照当前格式,打印当前日期,2018/04/19 20:17:08 SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY/MM/dd HH:MM:SS"); Date date = new Date(); System.out.println(dateFormat.format(date)); //在Jdk8中格式化时间操作 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY/MM/dd"); LocalDate localDate = LocalDate.now(); System.out.println(localDate.format(dateTimeFormatter)); //五、打印昨天的当前时刻 calendar.add(Calendar.DATE,-1); System.out.println(calendar.getTime()); //通过jdk8的操作 LocalDateTime today = LocalDateTime.now(); LocalDateTime yesterday = today.minusDays(1); System.out.println(yesterday); } }
二、输出的结果
2018 3 19 20 25 11 2018 APRIL 4 19 20 25 11 1524140711159 1524140711159 1524140711159 30 2018/04/19 20:04:168 2018/04/19 Wed Apr 18 20:25:11 CST 2018 2018-04-18T20:25:11.184
好了,很多东西需要自己去慢慢尝试!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C++继承和组合——带你读懂接口和mixin,实现多功能自由组合
摘要:本文详细介绍了C++继承的三种方式和相关重要概念,整理了众多继承与组合中的注意问题。在C++继承存在不安全的默认实现,非虚函数的覆盖,多重继承的函数名冲突、菱形继承等众多问题下,如何实现多个功能的自由组合?阿里云高级开发工程师采用mixin,为大家提供了更好扩展性和更高代码复用度的解决方案。 数十款阿里云产品限时折扣中,赶紧点击这里, 领劵开始云上实践吧! 本次直播视频精彩回顾, 戳这里! 演讲嘉宾简介: 付哲(花名:行简),阿里云高级开发工程师,哈尔滨工业大学微电子学硕士,主攻方向为分布式存储与高性能服务器编程,目前就职于阿里云表格存储团队,负责后端开发。 以下内容根据演讲嘉宾视频分享以及PPT整理而成。 本文将围绕一下几个方面进行介绍: 1.C++继承方式 2.继承相关重要概念及注意问题 3.问题及解决:如何组合正交的多个功能 一.C++继承
- 下一篇
【python进阶】详解元类及其应用2
前言 在上一篇文章【python进阶】详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有⽅法的类 最终你会希望为你的类增加⽅法。只需要定义⼀个有着恰当签名的函数并将 其作为属性赋值就可以了。添加实例⽅法 In [14]: def echo_bar(self):#定义了一个普通的函数 ...: print(self.bar) ...: In [15]: FooChild = type('FooChild',(Foo,),{'echo_bar':echo_bar}) In [16]: hasattr(Foo,'echo_bar')#判断Foo类中,是否有echo_bar这个属性 Out[16]: False In [17]: hasattr(FooChild,'echo_bar')#判断FooChild类中,是否有echo_bar这个属性 Out[17]: True In [18]: my_foo=FooChild() ...: In [19]: my_foo.echo_bar(...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程