毫秒的概念
package cn.itcast.demo02;
//1天 = 86400秒 = 86400000毫秒
/*类 Date 表示特定的瞬间,精确到毫秒。 */
public class Date {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());//获取当前系统从1970.1.1.0:00:000经历了多少毫秒 long类型
}
}
构造方法
package cn.itcast.demo02;
import java.util.Date;
public class Demo02Data {
public static void main(String[] args) {
demo01();
demo02();
demo03();
}
/*getTime方法 将日期转换为毫秒值*/
private static void demo03() {
Date date = new Date();
long time = date.getTime();
System.out.println(time);//1549506947730
}
/*带参数构造方法 将毫秒值转换为data日期*/
private static void demo02() {
Date data = new Date(0);
System.out.println(data);//Thu Jan 01 08:00:00 GMT+08:00 1970
}
/*Data类的空参数构造方法。获取当前系统的日期和时间*/
private static void demo01() {
Date date = new Date();
System.out.println(date);//Thu Feb 07 10:30:42 GMT+08:00 2019
}
}
package cn.itcast.demo02;
import java.util.Date;
public class Demo02Data {
public static void main(String[] args) {
demo01();
demo02();
demo03();
}
/*getTime方法 将日期转换为毫秒值*/
private static void demo03() {
Date date = new Date();
long time = date.getTime();
System.out.println(time);//1549506947730
}
/*带参数构造方法 将毫秒值转换为data日期*/
private static void demo02() {
Date data = new Date(0);
System.out.println(data);//Thu Jan 01 08:00:00 GMT+08:00 1970
}
/*Data类的空参数构造方法。获取当前系统的日期和时间*/
private static void demo01() {
Date date = new Date();
System.out.println(date);//Thu Feb 07 10:30:42 GMT+08:00 2019
}
}
package cn.itcast.demo02;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*java.text.DateFormat
是日期/时间格式化子类的抽象类,
我们通过这个类可以帮我们完成日期和文本之间的转换,
也就是可以在Date对象与String对象之间进行来回转换。
format方法 按照指定的模式,把data日期转化为符合模式的字符串
parse方法:符合模式的字符串解析为data日期
public class SimpleDateFormat extends DateFormat
构造方法:
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
(区分大小写)
y 年
M 月
d 日
H 时
m 分
s 秒
写对应模式会替换为对应的日期和时间
"yyyy-MM-dd HH:mm:ss"
连接模式的符号可以改变
"yyyy年MM月dd日HH时mm分ss秒"
*/
public class Demo03Format {
public static void main(String[] args) throws ParseException {
//demo01();
demo02();
}
private static void demo02() throws ParseException {
SimpleDateFormat sdf =new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date date = sdf.parse("2088年12月15日 15时33分24秒");
System.out.println(date);
}
/*format方法*/
private static void demo01() {
SimpleDateFormat sdf =new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date date = new Date();
String d = sdf.format(date);
System.out.println(date);
System.out.println(d);
}
}
案例 计算一个人从出生到现在过了多少天
package cn.itcast.demo02;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Demo03Test {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("输入出生日期:yyyy-mm-dd");
String birthDataString = sc.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date birthdayData = sdf.parse(birthDataString);
long birthdayTime = birthdayData.getTime();//变为毫秒
long todayTime = new Date().getTime();//当前日期
long time = todayTime - birthdayTime;
System.out.println(time/1000/60/60/24);
}
}