Date为核心的一些有关日期的类(源码学习)
发布日期:2021-06-29 11:11:20 浏览次数:2 分类:技术文章

本文共 1743 字,大约阅读时间需要 5 分钟。

1;先看一下一些与Date常见的类;

这里写图片描述
2;java.util.Date;

The class Date represents a specific instant in time, with millisecond precision//其源码介绍;这个Date类代表一个明确的具体的瞬间时间,用毫秒精确表示;

正如源码所说;它的对象表示一个特定的瞬间对象,精确到毫秒;

Java中时间的表示,说白了也就是数字,是从标准纪年1970.1.1.0点开始到某个时刻的毫秒数;类型是long类型;并且2的63次方足够表示了;;

注意这里是util类中的,而不是sql类的;

那个long类型的数;在源码中的存在;
这里写图片描述
关于其初始化;
这里写图片描述
方法;
这里写图片描述
这里写图片描述
这里写图片描述

Date类的核心就是那个long类型的数;

3;DateFormat类和SimpleDateFormat类;

3.1;DateFormat类;是继承与java.text类;
这里写图片描述
但是可以使用父类引用指向子类对象;

public class SimpleDateFormat extends DateFormat {
//子类就是SimpleDateFormat

3.2;SimpleDateFormat类;

3.2.1;这个类的作用
这里写图片描述
因此;这个类的工作就是完成字符串和时间对象之间的转化;
——–SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化

3.2.2;构造方法;其作用;

一般使用传入字符串;意思就是日期格式;

SimpleDateFormat(String pattern)           用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

而这个字符串就是日期格式;

DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
这里写图片描述
父类引用指向子类对象;则只能访问父类的成员了;
这里写图片描述

3.3;最后还是回到DateFromat类;原来还是要用DateFromat类的方法;尴尬了;还以为他只是一个抽象类生成一下SimpleDateFormat类,用这个类来实现转化了,原来他只是一个产生时间格式字符串的格式。真晕死;汗。。。。最后还是要回到DateFromeat来,

常用方法;两个;format()和parse();
这里写图片描述
这里写图片描述
这里写图片描述

4;Calendar;和GreGorianCalendar

4.1;Calendar类
这里写图片描述
这里写图片描述
同样它也是abstract抽象类;但是与Dateformat类一样,只是有一个子类来实现,并且还是主要用的Calendar类中的方法;
这里写图片描述
这里写图片描述

//因为Calendar是个抽象类,当要建一个对象的时候new它的子类GregorianCalendar类//这样来创建对象;Calendar  df = new GregorianCalendar();/*GregorianCalendar() 默认构造方法          在具有默认语言环境的默认时区内使用当前时间构造一个默认的 GregorianCalendar对象,        并且可以使用Calendar引用指向;调用Calendar类的成员。*/

方法;

set();方法,设置一个日历时间,好多年好多月好多日…….看起调用的set方法;其好多重载方法;
这里写图片描述
看到这个方法没,其实我们也看单独拿出来初始化;
public void set(int field, int value)//field是日历类型;YEAR代表年;
是这样设,如果没有设定的元素打不会用0代替而是用当前时间代替;
这里写图片描述
可以设置日期之后,就可以与来与Date类联系起来了;这里有两个方法;
这里写图片描述
这里写图片描述
返回日历中的元素get()方法;
这里写图片描述

还可以直接将Date对象放进去直接变成日历形式;

使用;set(new Date)是可以的;
还有一个方法,就是增加日历元素的值;指定年则可以在年的基础上加多少年;
这里写图片描述
要减少则只需将那个amount变成负值就可以;
这里写图片描述

关于时间日期的就暂时到这里的,

后面会编写一个小程序;可视化日历;就是使用上面所介绍的方法

转载地址:https://blog.csdn.net/zw1996/article/details/53248354 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:cmd运行跨包访问的javac -d . xx.java
下一篇:Java权限修饰词

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月15日 18时41分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章