一、日期处理类(Date)
日期是一个重要的单位,在Java之中如果用户要想取得当前的系统日期时间,一个最简单的方式就是直接输出java.util.Date类对象,而这个Date类的构造方法:
- 无参构造:public Date();
- 有参构造:public Date(long date)。
范例:操作Date
import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = new Date() ; System.out.println(date); } } MonMon Sep 01 10:36:20 CST 2014
所以现在可以发现,虽然Date可以取得当前的日期时间,只不过感觉上别扭了点,而且有些同学是读不出来的。
提示:关于long和Date的互相转型
long数据类型一直强调的是:可以保存文件大小或者是日期时间数据,而这一特性在Date类上是很好的体现:
- 构造方法:public Date(long date);
- 返回long数据:public long getTime()。
范例:互相转换
import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = new Date(System.currentTimeMillis()); System.out.println(date); System.out.println(date.getTime()); } }
那么为了得到良好的体验,必须要想办法格式化Date类的数据显示结果。(Oracle的TO_CHAR()函数可以将日期或数字格式化为字符串),Java为此提供了一个专门的处理类:java.text.SimpleDateFormat类。
那么在SimpleDateFormat类之中主要使用如下几个操作方法:
- 构造方法:public SimpleDateFormat(String pattern);
- 将Date格式化为String:public final String format(Date date);
- 将String格式化为Date:public Date parse(String source) throws ParseException。
但是在实例化SimpleDateFormat类的时候需要传入一些日期时间的标记,而所有的标记字母都在SimpleDateFormat类中定义:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)。
范例:将Date格式化为String
import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String str = sdf.format(date); System.out.println(str); } }
范例:将字符串转换为Date
import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { String str = "2011-11-11 11:11:11.111"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); Date date = sdf.parse(str); System.out.println(date); } }
那么到此为止已经清楚了基本数据类型、包装类、String、Date之间的转换:
- 基本数据类型 ->包装类:自动装箱和自动拆箱;
- 基本数据类型 ->String:使用valueOf()方法;
- long -> Date:Date类的构造方法;
- Date -> long:getTime()方法;
- String -> 基本类型:包装类;
- String -> Date:java.text.SimpleDateFormat类、format()、parse()。