一、Date
Date类表示特定的瞬间,精确到毫秒。
注:由于我们处于东八区,所以我们的基准时间为1970年1月1日0分0秒
常用方法:
public static void main(String[] args) {
//日期类型:
//类 Date 表示特定的瞬间,精确到毫秒
Date date1=new Date();//获取当前的时间
System.out.println(date1);
}
二、SimpleDateFormat类
DateFormat是日期时间格式化子类的抽象类,通过这个类可以完成日期和文本之间的转化,也就是可以在Date和String对象之间来回转化。
常用标识字母:(区分大小写)
y---年
M---月份
d---天数
H---小时
m---分钟
s---秒数
格式化:按照指定的格式,从Date对象转化为String对象,如果想要把时间格式变成中国的风格就要对时间进行格式化处理。DateFormat:专门对日期格式的,但是它是一个抽象类,不能实例化,用它的子类SimpleDateFormat可以实例化类。
可以把日期类型的数据转换成日期格式的字符串类型
按照指定的格式,从String对象转化为Date对象
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class dateformatest {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date1=new Date();
String format=sdf.format(date1);
System.out.println(format);
String time="2000/10/20 8:20:38";
Date date2=sdf.parse(time);
System.out.println(date2);
}
}
三、Calendar类中的常用字段
YEAR 年份
MONTH 月份
DATE 日期
WEEK_OF_YEAR 当前年中的第几个星期
WEEK_OF_MONTH 当前月中的第几个星期
DAY_OF_YEAR 一年中的第几天
DAY_OF_MONTH 一个月中的第几天
DAY_OF_WEEK 一个星期中的第几天
// 创建Calendar对象
Calendar cal = Calendar.getInstance();
System.out.println("当前时间: " + cal.getTime());
/* 时间的获取 */
int year = cal.get(Calendar.YEAR); // 年份
int month = cal.get(Calendar.MONTH) + 1; // 月份(月份0代表1月)
int date = cal.get(Calendar.DATE); // 日期,年月日中的日,同DAY_OF_MONTH
int week_of_year = cal.get(Calendar.WEEK_OF_YEAR); // 第几个星期/年
int week_of_month = cal.get(Calendar.WEEK_OF_MONTH); // 第几个星期/月
int day_of_year = cal.get(Calendar.DAY_OF_YEAR); // 第几天/年
int day_of_month = cal.get(Calendar.DAY_OF_MONTH); // 第几天/月
int day_of_week = cal.get(Calendar.DAY_OF_WEEK); // 第几天/星期
System.out.println("年份,YEAR: " + year);
System.out.println("月份,MONTH: " + month);
System.out.println("日期,DATE: " + date);
System.out.println("第几个星期/年,WEEK_OF_YEAR: " + week_of_year);
System.out.println("第几个星期/月,WEEK_OF_MONTH: " + week_of_month);
System.out.println("第几天/年,DAY_OF_YEAR: " + day_of_year);
System.out.println("第几天/月,DAY_OF_MONTH: " + day_of_month);
System.out.println("第几天/星期,DAY_OF_WEEK: " + day_of_week);