1. Date类与long数据类型的转型
2. SimpleDateFormat类的使用
3. Calendar类的使用
如果要操作日期一定要使用日期的处理类。
1、Java.util.Date类
范例:
package com.lohas.demo.date;
import java.util.Date;
public class TestDateDemo {
public static voidmain(String[] args) {
Date date = newDate();
System.out.println(date);
}
}
执行结果:
Sat Apr 21 09:27:13 CST 2018
虽然Date类的对象可以取得当前的日期时间,但是结果,这个日期的可读性不适合中国人。
一直强调,日期时间=long数据内容。这一点Date类上很好体现
.构造方法:public Date(long date)
.将Date以long型返回:public long getTime()
范例:转换
package com.lohas.demo.date;
import java.util.Date;
public class TestDateDemo {
public static void main(String[] args) {
Date date = new Date();//Date对象
long num = date.getTime();//将Date以long数据返回
System.out.println(num);
System.out.println(new Date(num * 2));//long >> Date
}
}
运行结果:
1524274758394
Mon Aug 0911:18:36 CST 2066
在实际的使用过程之中,很少会出现这样的转换,但是至少你的头脑中应该清楚,long与Date可以互相转换。
2、日期格式化:SimpleDateFormat
Date虽然可以直接进行日期时间的取得,但是大部分情况这样的日期时间取得并不好用,因为它给出的日期时间格式我们很多人看不懂。所以在java中考虑到了日期的显示格式要求。那么往往最终都会按照String进行显示。
如果要想实现这样的格式化操作,可以使用java.text.SimpleDateFormat类完成。
java.lang.Object
java.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
.构造方法:public SimpleDateFormat(String pattern)
--格式化标记:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)
.将日期格式化为字符串:
publicfinal String format(Date date)
.将字符串变为日期:
public Date parse(String source)throws ParseException
范例:将日期格式化为字符串
package com.lohas.demo.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
public static voidmain(String[] args) {
Date date = newDate();
System.out.println("当前日期: " + date);
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
String str =sdf.format(date);//将日期格式化字符串
System.out.println("Date==>>String: " + str);
Date date1 = null;
try {
date1 =sdf.parse(str);将字符串格式化日期
} catch(ParseException e) {
e.printStackTrace();
}
System.out.println("String==>>date: " + date1);
}
}
总结:现在为止String、基本类型、Date已经实现了彻底的转换贯通;
String变为基本类型:包装类
基本类型变为String: String.ValueOf()
Date与String转换: SimpleDateFormat
3、Calendar类
Calendar主要的功能是可以进行日期时间的拼凑使用,。Calendar本身是一个抽象类,但是现在可以直接利用这个类中提供的static方法进行实例化对象的取得:
public static Calendar getInstance()。
随后可以利用Calendar类中的一个方法取得指定的日期时间数据: public int get(int field)
该方法需要使用一些特定的常量。
package com.lohas.demo.date;
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//取得Calendar类的实例化对象
Calendar calendar = Calendar.getInstance();
StringBuffer sb = new StringBuffer();
sb.append(calendar.get(Calendar.YEAR)).append("年");
sb.append(calendar.get(Calendar.MONTH) + 1).append("月");
sb.append(calendar.get(Calendar.DAY_OF_MONTH)).append("日");
sb.append(calendar.get(Calendar.HOUR_OF_DAY)).append("时");
sb.append(calendar.get(Calendar.MINUTE)).append("分");
sb.append(calendar.get(Calendar.SECOND)).append("秒");
System.out.println(sb);
}
}
运行结果:2018年4月21日11时1分30秒
使用Calendar的好处是可以方便计算出日期或时间之间的间隔。
总结:
java.util.Date代表的就是日期时间
SimpleDateFormat可以实现字符串与日期间的转换操作