Java(高级编程)日期操作类
[TOC]
一. Date
Data类的方法里面定义了如下几个重要方法:
- 无参构造: public Data();
- 有参构造: public Data(long data),接受long型数据;
- 转换为long型: public long getTime();
1 | package cn.ngp.demo; |
以后的代码编写过程中,依然需要以上的转换操作,尤其是getTime()方法
二. 日期格式化: SimpleDataFormat(核心)
java.text是一个专门实现国际化程序的开发包,而SimpleDataFormat是一个专门处理格式化日期的工具类,即: 可以将Date型的对象转化为String的形式显示。而主要使用的是以下方法:
- 构造方法: public SimpleDateFormat(String pattern),需要传递转换格式
- 将Data转换为String: public final String format(Data data);
- 将String转换为Date: public Date parse(String source) throws ParseException;
现在的关键就在于转换格式上,对于常见的转换格式: 年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)。
范例:
1 | package cn.ngp.demo; |
除了可以将日期变为字符串之外,也可以将字符串转换为日期。
1 | package cn.ngp.demo; |
在将字符串变为日期型数据的时候,如果日期型数据给的月不对,那么会自动进行进位。如果给定的字符串与要转换的格式不符合,那么机会出现异常。
总结:关于数据类型的转换
在数据表的操作里面重点说过了有几个常用类型:VARCHAR2(String)、CLOB(String)、Number(Double、int)、Date(java.util.Date)。
- Date与String类之间的转换依靠的是SimpleDateFormat;
- String与基本数据类型之间的转换依靠的是包装类与String.valueOf()方法;
- long与Date转换依靠的是Date类提供的构造以及getTime()方法。
三. Calender
Date类和SimpleDate类两个往往是一起使用的,但是Calendar这个类主要是进行一些简单的日期计算的。
Calendar类定义:
1 | public abstract class Calendar |
这是一个抽象类。那么应该依靠子类进行对象的实例化操作。但是在这个类里面它提供有一个static方法,此方法返回的正是本类对象: public static Calendar getInstance()。
1 | package cn.ngp.demo; |
如果是日期计算,要比Date容易,如果使用Date要进行天的计算,那么就需要使用long完成了。
总结:
- 以后数据库中的日期类型就使用 java.util.Date表示;
- 代码模型: SimpleDateFormat 类实现String与Date间的相互转换。
参考
来自: 阿里云大学(笔记) → 零基础学Java10系列三:Java高级编程