Date类
- java.util.Date表示日期和时间的类。
- Date类表示特定的瞬间,1秒=1000毫秒。
构造方法:
Date()
public static void main(String[] args) {
demo01();
}
private static void demo01(){
Date date =new Date();
System.out.println(date);
}
根据本地时间转换日期对象。
Date date =new Date();
System.out.println(date.toLocaleString());
- 空参数的Date()作用是获取当前系统的日期和时间。
Date(long date)
public class DateDemo {
public static void main(String[] args) {
demo01(10000000);
}
private static void demo01(long date1){
Date date =new Date(date1);
System.out.println(date);
}
}
- 时间原点是1970.1.1.00.08.00(东八区)。
成员方法:
getTime()
public static void main(String[] args) {
Date date =new Date();
long time =date.getTime();
System.out.println(time);
}
- 把日期转换为毫秒用getTime()成员方法。
DateFormat类
- java.text.DateFormat类
成员方法:
format(Date date)
- 将日期格式化成日期/时间字符串。
parse(String source)
- 把符合模式的字符串,解析为Date日期。
DateFormat是一个抽象类,无法创建对象,必须使用他的子类。
import java.text.SimpleDateFormat extends DateFormat
构造方法:
- SimpleDateFormat(String pattern)
- 使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
- String pattern:传递指定的模式。
- 模式:(区分大小写)
- y—年 M—月 d—日 H—时 m—分 s—秒
- “yyyy-MM-dd HH:mm:ss”
format(Date date)
public static void main(String[] args) {
demo01();
}
private static void demo01(){
Date date=new Date();
//创建一个SimpleDateFormat对象,构造方法中传递指定的模式。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本)
String s = sdf.format(date);
System.out.println(s);
}
parse(String source)
public static void main(String[] args) throws ParseException {
demo01();
}
private static void demo01() throws ParseException {
Date date=new Date();
//创建一个SimpleDateFormat对象,构造方法中传递指定的模式。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用SimpleDateFormat对象中的方法format,按照构造方法中指定的模式,把Date日期格式化为符合模式的字符串(文本)
Date s = sdf.parse("2019-12-19 17:37:44");
System.out.println(s);
}
小测试
- 输入出生日期,输出至今来到这个世界的天数。
public class DateDemo {
public static void main(String[] args) throws ParseException {
System.out.println("请输入您的出生日期:格式为yyyy-MM-dd:");
//从键盘输入出生日期。
String scanner=new Scanner(System.in).next();
//创建一个SimpleDateFormat对象,使用对象的成员方法parse(),作用是:把符合模式的字符串,解析为Date日期。
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
Date s = sdf.parse(scanner);
//获取当前的日期
Date date=new Date();
//用getTime()成员方法去把日期转换为毫秒值。日期是不能相加减的,需要转化为毫秒值。
long time1= s.getTime();
long time2=date.getTime();
//将毫秒值相加减
long cha=time2-time1;
//将毫秒值转化为天数
float ss=cha/1000/60/60/24;
System.out.println(ss);
}
}