1. Java.util.Date 日期类
Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之后经历的毫秒数.
2. java.util.Calendar(抽象类) 日历类
java.util.GregorianCalendar(具体类):
为特定瞬间与日历之间的转换提供了方法,提供了日历操作方法。
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL); //设定日期格式
GregorianCalendar cal = new GregorianCalendar(); //声明日历
cal.setTime(new Date()); //设定日历
System.out.println("System Date: " + dateFormat.format(cal.getTime()));
cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY); //设定日历
System.out.println("After Setting Day of Week to Friday: " + dateFormat.format(cal.getTime()));
3. java.text.DateFormat(抽象类) 日期格式化类
DateFormatSymbols
内部封装了因地区而不同的日期格式化数据
Java.text.SimpleDateFormat(具体子类)
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
将日期转换成文本
SimpleDateFormat bartDateFormat = new SimpleDateFormat("EEEE-MMMM-dd-yyyy"); //设定日期格式
Date date = new Date();
System.out.println(bartDateFormat.format(date));
将文本转换成日期
SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy"); //设定日期格式
String dateStringToParse = "9-29-2001"; //日期字符串
Date date;
try {
date = bartDateFormat.parse(dateStringToParse); //将日期字符串转换成日期
System.out.println(date.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
格式规范化
Date date = new Date();
DateFormat shortDateFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT); //设定日期时间格式
System.out.println(shortDateFormat.format(date));