1.Date
JDK7与JDK8版本时间用法不同
JDK8:LocalDateTime.now,获取当前时间并且封装成对象
LocalDateTime.of,获取输入的时间并封装成对象
public class jdk8Demo1 {
public static void main(String[] args) {
//LocalDateTime,有参则将参数封装成对象,无参则自动将电脑上的时间封装成对象
//无参用now方法
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
//有参有of方法
LocalDateTime localDateTime = LocalDateTime.of(2020, 6, 28, 21, 27);
System.out.println(localDateTime);
}
}
Jdk7:
1. Date:可以无参构造,也可以有参构造,无参构造默认将当前日期的毫秒值封装成对象
有参构造是从1970年起过了参数毫秒后的时间为封装对象
public class DateDemo1 {
public static void main(String[] args) {
//空参构造和有参构造
//1.空参:
Date date1=new Date();
System.out.println(date1);//打印的是当前电脑上面的时间
//2.带参
Date date2=new Date(0L);
System.out.println(date2);//打印的从1970年开始,过了o(传入的参数 )毫秒时间
}
}
Date类当中的setTime和getTime方法是用来设置毫秒值和获取毫秒值,代码如下:
public class DateDemo2 {
public static void main(String[] args) {
/* 常用方法
1.public long getTime () 获取时间对象的毫秒值
2.public viod setTime(long time) 设置时间 传递毫秒值
*/
//把当前时间封装成一个date对象
//method1();
Date date1=new Date();
date1.setTime(0L);
System.out.println(date1);
}
private static void method1() {
Date date1=new Date();
//获取这个date对象的毫秒值,获取当前时间的毫秒值
long time = date1.getTime();
//打印输出
System.out.println(time);
long time2 = System.currentTimeMillis();
System.out.println(time2);
}
}
2.SimpleDateFormat类:可以对Date对象进行格式化和解析,有参构造和无参构造
格式化:将Date2对象变成一个符合我们阅读的字符串,解析恰好相反。
利用该类对定义格式,对对象进行格式化,代码如下:
public class DateDemo4 {
public static void main(String[] args) {
//创建Date对象
Date date=new Date();
//创建一个日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String result=sdf.format(date);
System.out.println(result);
}
对字符串进行解析,代码如下:解析需要用到SimpleDateFormat类中的parse()方法
public class DateDemo5 {
//解析
public static void main(String[] args) throws ParseException {
//定义一个字符串
String s="2021年6月28日";
//定义格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//对字符串进行解析(解析要用到自重的prase方法)
Date date = sdf.parse(s);
System.out.println(date);
}
}
SimpleDateFormat小结:
1.格式化(从Date到String),用format()方法
2.解析 (从String到Date),用parse()方法