您现在的位置是:首页 > 文章详情

Java对时间进行操作(LocalDateTime,Calendar)

日期:2018-04-18点击:467

题记:

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 //例如我是419执行的值,输出是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()); //二、取得从197011000秒到现在的毫秒数 //获取毫秒 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

好了,很多东西需要自己去慢慢尝试!

原文链接:https://yq.aliyun.com/articles/614526
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章