一、介绍
java.util包中的Date类表示特定的时间,精确到毫秒。如果要想使用我们的Date类,那么我们必须得引入我们的Date类。
Date类直接写入年份是得不到正确的结果的。 因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。
这种方法是将一个符合特定格式,比如yyyy-MM-dd,的字符串转化成为Date类型的数据。 首先,定义一个Date类型的对象 Date date = null; 再定义一个String类型的符合格式的字符串 String dateStr = "2010-9-10"; 把这个字符串进行拆分 String[ ] dateDivide = dateStr.split("-"); 把年月日分别取出,赋给Calendar,用 Calendar的getTime();取得日期再赋给date。
二、知识点介绍
1、Date类的声明
2、Date类的常用方法
3、SimpleDateFormat格式化日期
三、上课对应视频的说明文档
1、Date类的声明
如果要想取得日期时间,我们可以实例化Date类
(1)获得当前日期时间
Date d=new Date();
(2)获得指定日期时间
Date d=new Date(long date);
注意:要想得到当前时间的long date 我们可以用getTime();方法
案例:
public class Test{
public static void main(String args[]){
Date d=new Date();//产生日期对象
System.out.println(d);
long l=d.getTime();//获取时间为长整型
System.out.println(l);
Date d1=new Date(l);
System.out.println(d1);
}
}
2、Date类的常用方法
getYear()//年份,Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900
getMonth()//月份,Date类规定一月是0,二月是1,三月是2,后续的依次类推。
getDate()//日期
getHours()//小时
getMinutes()//分钟
getSeconds()//秒
getDay()//星期,Date类规定周日是0,周一是1,周二是2,后续的依次类推。
案例:
public class Test1{
public static void main(String args[]){
Date d2 = new Date();//年份
int year = d2.getYear() + 1900;//月份
int month = d2.getMonth() + 1;//日期
int date = d2.getDate();//小时
int hour = d2.getHours();//分钟
int minute = d2.getMinutes();//秒
int second = d2.getSeconds();//星期几
int day = d2.getDay();
System.out.println("年份:" + year);
System.out.println("月份:" + month);
System.out.println("日期:" + date);
System.out.println("小时:" + hour);
System.out.println("分钟:" + minute);
System.out.println("秒:" + second);
System.out.println("星期:" + day);
}
}
3、SimpleDateFormat格式化日期
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。
(1) SimpleDateFormate初始化
SimpleDateFormate sdf=new SimpleDateFormate(日期格式);
注意:日期格式
(2) SimpleDateFormat常用方法
format(Date d):将日期格式转化为字符串数据
parse(String s):将字符串格式转化为日期数据
案例:
public class Test2{
public static void main(String args[]){
Date d=new Date();
SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”);
//日期格式化
System.out.println(sdf.format(d));
}
}
public class Test3{
public static void main(String args[]){
String s=”2017-09-09”;
SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”);
//字符串转换为时期类型
Date d=sdf.parse(s);
System.out.println(d);
}
}
案例二:
import java.text.SimpleDateFormat; //导入需要的SimpleDateFormat包
import java.util.Date; //导入需要的Date包
class MyDateDemo { // 定义的MyDateDemo类
private SimpleDateFormat sd = null; // 声明SimpleDateFormat对象sd
public String getDate01() { // 定义getDate01方法
this.sd = new SimpleDateFormat("yyyy-MM-dd HH:mm;ss.sss"); // 得到一个"yyyy-MM-dd
// HH:mm;ss.sss"格式日期
return this.sd.format(new Date()); // 将当前日期进行格式化操作
}
public String getDate02() { // 定义getDate02方法
this.sd = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒sss毫秒"); // 得到一个"yyyy年MM月dd日
// HH时mm分ss秒sss毫秒"格式日期
return this.sd.format(new Date()); // 将当前日期进行格式化操作
}
public String getDate03() {// 定义getDate03方法
this.sd = new SimpleDateFormat("yyyyMMddHHmmsssss");// 得到一个"yyyyMMddHHmmsssss"格式日期(也就是时间戳)
return this.sd.format(new Date());// 将当前日期进行格式化操作
}
}
public class SimpleDateFormatDemo {// 主类
public static void main(String[] args) { // 主方法
MyDateDemo dd = new MyDateDemo(); // 声明dd对象,并实例化
System.out.println("默认日期格式: " + new Date());// 分别调用方法输入不同格式的日期
System.out.println("英文日期格式: " + dd.getDate01());
System.out.println("中文日期格式: " + dd.getDate02());
System.out.println("时间戳: " + dd.getDate03());
}
}