美文网首页
二十七、日期类

二十七、日期类

作者: 圣贤与无赖 | 来源:发表于2018-08-21 21:38 被阅读8次

一、Date类

类 Date 表示特定的瞬间,精确到毫秒。


date.png

//创建日期对象,把当前的毫秒值转成日期对象
Date date = new Date(1607616000000L);
System.out.println(date);
//打印结果:Fri Dec 11 00:00:00 CST 2020

date常用方法.png

把日期对象转换成对应的时间毫秒值

二、DateFormat类

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
继续阅读API,DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。

1. 日期的格式化
要格式化一个当前语言环境下的日期也就是日期 -> 文本),要通过下面的方法来完成。DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象。
 构造方法

SimpleDateFormat.png
 DateFormat类方法
format.png
代码演示:
//创建日期格式化对象,在获取格式化对象时可以指定风格
DateFormat df= new SimpleDateFormat("yyyy-MM-dd");//对日期进行格式化
Date date = new Date(1607616000000L);
String str_time = df.format(date);
System.out.println(str_time);//2020年12月11日

DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。

指定格式的具体规则我们可参照SimpleDateFormat类的说明,这里做简单介绍,规则是在一个字符串中,会将以下字母替换成对应时间组成部分,剩余内容原样输出。
日期和时间模式:

y 年
M 年中的月份
d 月份中的天数
H 一天中的小时数(0-23)
m 小时中的分钟数
s 分钟中的秒数
S 毫秒数

2.DateFormat类常用方法

format2.png
 format方法,用来将Date对象转换成String
 parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换)。
实例:
一:把Date对象转换成String
     Date date = new Date(1607616000000L);//Fri Dec 11 00:00:00 CST 2020
    DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
    String str = df.format(date);
    //str中的内容为2020年12月11日

二:把String转换成Date对象
    String str = ”2020年12月11日”;
    DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
    Date date = df.parse( str );
    //Date对象中的内容为Fri Dec 11 00:00:00 CST 2020

三、Calendar类

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象。
Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:
如下:
 Calendar类静态方法


Calendar.png

Calendar c = Calendar.getInstance(); //返回当前日历对象
public static Calendar {
Calendar c = new GregorianCalendar();
return c;
}

1. Calendar类常用方法

Calendar类常用方法.png

public static Calendar getInstance() //获取日期对象
public int get(int field) //获取时间字段值
 YEAR 年
 MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。
 DATE 天
 HOUR 时
 MINUTE分
 SECOND秒
实例:
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);

public void add(int field,int amount) //指定字段增加某值

    Calendar c = Calendar.getInstance();
    //修改当前时间为3天后
    c.add(Calendar.DATE, 3);
    //修改当前时间为5小时后
    c.add(Calendar.HOUR, 5);

public final void set(int field,int value)//设置指定字段的值

       Calendar c = Calendar.getInstance();
    //设置时间为2020年5月20日
    c.set(Calendar.YEAR, 2020);
    c.set(Calendar.MONTH, 4);
    c.set(Calendar.DATE, 20);

public final Date getTime() //获取该日历对象转成的日期对象

Calendar c = Calendar.getInstance();
    Date d = c.getTime();

注意事项

西方星期的开始为周日,中国为周一。
在Calendar类中,月份的表示是以0-11代表1-12月。
日期是有大小关系的,时间靠后,时间越大。

相关文章

  • 二十七、日期类

    一、Date类 类 Date 表示特定的瞬间,精确到毫秒。 //创建日期对象,把当前的毫秒值转成日期对象Date ...

  • 日期类

    加减: 获取日期: 比较:

  • 日期类

    注意个位数日期前面要有0。

  • 日期类时间类

    //计算两日期相差天数 function DateDiff(sDate1, sDate2) { //sDate1和...

  • java——日期类

    Date类 大部分构造方法声明已过时,两个构造方法建议使用一个无参的构造方法Date();创建当前日期时间的Dat...

  • 日期工具类

    这个还不错:https://www.cnblogs.com/sharpest/p/7879377.html。当然也...

  • 日期相关类

    Date类 java中用于描述日期的类。Date内部维护着一个long值,这个值表示的是1970-01-01 00...

  • 日期相关类

  • 日期操作类

    之前一直强调java类的概念,java类与数据库表的映射,数据表的日期字段一直没有映射。 今天研究一下Java.u...

  • Date日期类

网友评论

      本文标题:二十七、日期类

      本文链接:https://www.haomeiwen.com/subject/shksiftx.html