Date类
1创建方式:
Date date=new Date();//获取当前系统的时间和日期
2构造方法:
Date(long date):使用给定的毫秒时间值构造一个Date对象。 如果给定的毫秒值包含时间信息,则驱动程序将将时间组件设置为对应于零GMT的默认时区(运行应用程序的Java虚拟机的时区)。
例如:
public class DateDemo {
public static void main(String[] args){
Date date=new Date(500000000);
System.out.println(date);
}
}
结果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5ATM1UDOyETM4EjNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
成员方法
public long getTime():返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒 数 。
例如:
public class DateDemo {
public static void main(String[] args){
Date date=new Date();
long time=date.getTime();
System.out.println(time);
}
}
结果:
DateFormate类(抽象类)
1:创建方式:
DateFormat是一个抽象类,不能直接实例化,只能由它的子类(SimpleDateFormat)来创建
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
2成员方法
String format(Date date)
Date date为日期时间格式:yyyy-MM-dd HH:mm:ss
按照指定的格式把Date日期时间格式转换为符合模式的字符串。
例如:
public static void main(String[] args){
Date date=new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=simpleDateFormat.format(date);
System.out.println(dateStr);
}
结果为:
2020-06-18 11:47:02
Date parse(String source)
把时间和日期的字符串转换为Date对象(时间和日期)
例如
String date="2020-06-08 09:08:20";
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1=simpleDateFormat.parse(date);
System.out.println(date1);
结果:
Mon Jun 08 09:08:20 CST 2020
4综合案例:
4.1输入一个身份证号码计算出年龄。
思路:
1先获取身份证的出生日期。
2获取当前系统的日期
3用当前系统的日期-出生日期计算出年龄。
代码:
package shuzu;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Shu {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("输入一个身份证号码");
String id=in.next();
if(id.length()!=18){
throw new RuntimeException("身份证号码必须为18位数字且最后一位为大写字母X或者数字");
}
String sub=id.substring(6,10);//获取你的身份证的出生
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy");
Date date=new Date();
String str=simpleDateFormat.format(date);
Integer age=Integer.parseInt(str)-Integer.parseInt(sub);
System.out.println("今年"+age+"岁");
}
}
4.2:计算某人出生了多久
思路:
1获取你的出生年月日
2获取当前系统的日期
3(用当前系统的日期-你的出生年月日)/1000/60/60/24
代码:
try {
Scanner in = new Scanner(System.in);
System.out.println("输入出身日期,格式为:yyyy-MM-dd");
String birthdayDate = in.next();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dateFormat = simpleDateFormat.parse(birthdayDate);
long birthday = dateFormat.getTime();
long nowDay = new Date().getTime();
long day = (nowDay - birthday) / 1000 / 60 / 60 / 24;
System.out.println("您活了" + day + "天");
} catch (Exception e) {
e.toString();
}