顾名思义,date就是关于时间的一个类,这个类主要就是一些对时间的设置以及操作,查阅官方文档可知,date类继承自java.lang.object 类,相关的构造方法如下:
构造方法:
date():无参构造,分配一个 date对象并将它初始化,它代表的时间分配给它,测量精确到毫秒:
//输出: fri jan 14 10:22:58 cst 2022 cst为中国标准时间
//若直接使用无参构造,其实就是输出当前的系统时间
date(long date) :有参构造
首先一秒等于1000毫秒,这个有参构造就是分配一个 date对象并将它初始化为代表指定的毫秒数自基准时间被称为格林威治时间,即1970年1月1日,00:00:00 gmt。 也就是传入一个毫秒数,然后从1970年1月1日,00:00:00 开始增加输入的时间:
//输出:thu值点 jan 01 08:00:05 cst 1970
//为什么我这里数输出08:00:05呢? 注意看,我的是cst中国标准时间,中国属于东八区,所以需要+8
//其实换算到gmt(格林威治时间)就是-8,也就是00:00:05,没有问题的
gettime(): 来获取毫秒数,其返回值类型是long,其可以把日期对象转成毫秒值
//输出:1642127814408
//这个数值就是从1970-1-1 00:00:00开始计算的毫秒值
hashcode():返回此对象的哈希代码值,其实这个用处不大,了解即可
//输出:1450437638 哈希吗值
equals(object obj) :比较两个相等的日期
//输出:true,因为同时创建了两个对象,都是当前时间,因为计算机运行速度很快,甚至没有一毫秒
//所以两个时间是相同的
after(date when):测试如果这个日期是在指定日期之后返回true,否则fal
before(date when) :测试如果这个日期是在指定日期之前返回true,否则fal
这两个方法大家可以自行去试试~~~
但是我们会发现,date类不能输出类似于普遍的时间格式:比如2021年01=年01日 13时00分 所以我们需要calenda类。
calendar类位于java.util包中,它提供多个方法获取,设置,增加日历字段值,比两鬓如霜date类更强大,
calendar是抽象类,所以不能直接使用new去新建对象。
所以我们需要使用到gregoriancalendar类,这个类也是calenda的子类,提供了世界上大多数使用标准的日历系统。
使用该类获得当前年份、月份和当前是周几的代码:
//输出:2022年0月14日
//解释:月份是从0开始计算的,所以0代表一月,11代表12月。月份返回为0-11
//解决方法:
system.out.println(year+”年”+(month+1)+”月”+day+”日”); //在月份后面+1即可
//输出:2022年1月14日
get方法:
也可以使用gregoriancalendar 输出更具体的时间格式:
比如输出年月日时分秒,这也是一般网页和系统都会显示的时间:(完整代码)
//输出:2022年1月14日11时14分36秒 这样是不是就是时间输出的理想格式呢
//这也是我在写这个博客的时间~~~
t方法:
上面我们用到的是get方法,那当然也有对应的t方法,来设置一下自定义的时间:
以设置为2020年1月1日为例:
//输出:2020年1月1日
但是在设置时间中若把月份输入大于11或者天数设置大于30天或31天(2月大于28天),那么将会自动往前进一:
//输出:2020年2月4日
//输入是1月份,但是天数大于真实一个月的天数,所以会增加一个月
但是在实际应用过程中,可能对时间的格式要求不一样,比如有:
2020/01/01 12:00:002020-01-01 星期* 上/下午2020年01月01日 12时00分00秒 ———-等等所以我们不可能在每一次需要不一样的格的时候再去重新写代码,所以java提供了这个simpledateformat类:
这个类属于text包下,所以使用前需要helped导入,分别继承自object、format、dateformat类,这个类的一些格式符号如下图:
回到前面,我们如果需要打印不同的格式时间,该怎么做呢? 我们先来看看simpledateformat的构造方法:
先看第二个:simpledateformat(string pattern) :使用给定的模式和默认的日期格式符号默认 format现场构建了一个 simpledateformat,意思是根据你给定的格式符号来创建这个时间的对象。
代码解释:其实这个方法就是传入一个date类的时间,和simpledateformat有参构造方法需要的一个参数pattern,也就是格式符,根据上那张表格查看需要什么格式即可,然后使用format方法即可。
完整代码:
如果我们需要输出别的格式:
“yyy年mm月dd日 hh时mm不外如是分ss秒 e a”
//输出:2022年01月14日 15时45分06秒 星期五 下午“yyyy/mm/dd hh:mm:ss e a”
//输出:2022/01/14 15:45:36 星期五 下午“mm/dd/yyyy hh:mm:ss” //甚至把年份方后面
//输出:01/14/2022 15:46:24
//可以根据北京医保存折需要,结合上面的符号表,去自定义想要的时间格式啦~~~~
关于date类,就介绍到这啦,大家看完了快去试试吧~~
到此这篇关于java date类十分钟理清时间的设置与操作的文章就介绍到这了,更多相关java date类内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-06 02:57:03,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/52a5a3b2ba4ad31a82df631c95a286b5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java Date类十分钟理清时间的设置与操作.doc
本文 PDF 下载地址:Java Date类十分钟理清时间的设置与操作.pdf
留言与评论(共有 0 条评论) |