一.date类概述
Date表示特定的瞬间,精确到毫秒。
构造方法:
- Date()根据当前时间创建的日期对象
- Date(long date) 根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00
代码:
package Java_study;
import java.util.Date;
/**
*
* @author 只是甲
* @date 2021-07-02
* @remark Date类的概述和构造方法
*
*/
public class date1 {
public static void main(String[] args) {
//Date()
Date d1 = new Date();
System.out.println(d1);
//Date(long date)
long date = 1000 * 60 * 60;//1秒*60*60=1小时 ,从8点向后一小时即9点
Date d2 = new Date(date);
System.out.println(d2);
}
}
测试记录:
Fri Jul 02 10:21:20 CST 2021
Thu Jan 01 09:00:00 CST 1970
二. Date.getTime()/setTime()
Date成员方法:
-
public long getTime():获取的是毫秒值。从1970年1月1日 00:00:00开始的。
1)getTime()从Date得到一个毫秒值 -
public void setTime(long time):设置时间,给的是毫秒值。
1)setTime(long time)从一个毫秒值得到一个Date对象
代码:
package Java_study;
import java.util.Date;
/**
*
* @author 只是甲
* @date 2021-07-02
* @remark Date类的成员方法getTime()和setTime()
*
*/
public class date2 {
public static void main(String[] args) {
//创建对象
Date d = new Date();
//Date.getTime
System.out.println("getTime:" + d.getTime());
//Date.setTime(Long Time)
d.setTime(1000 * 60 * 60);
System.out.println("setTime:" + d.getTime());
}
}
测试记录:
getTime:1625192808414
setTime:3600000
三. SimpleDateFormat
SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)
- 格式化(日期 -> 文本): Date --> String
public final String format(Date date)
- 解析(文本 -> 日期): String --> Date
public Date parse(String source)
代码:
package Java_study;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author 只是甲
* @date 2021-07-02
* @remark SimpleDateFormat类的概述和使用
*
*/
public class date3 {
public static void main(String[] args) {
//Ddate --> String
Date d1 = new Date();
System.out.println("d1指定模式前:" + d1);
/* 现在虽然实现了把日期格式化成一个字符串,但是不是我们想要的格式
我们想要的格式是:xxxx年xx月xx日 xx:xx:xx
SimpleDateFormat(): 用默认的模式
SimpleDateFormat sdf = new SimpleDateFormat();
SimpleDateFormat(String pattern):用给定的模式
*/
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH:mm:ss");
String s = sdf1.format(d1);
System.out.println("d1指定模式后:" + s);
//String --> Date
String str = "2080-08-08 12:23:45";
//把一个字符串解析为日期的时候,请注意模式字符串和给定的日期字符串的格式要匹配
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date d2 = sdf2.parse(str);
System.out.println("d2:" + d2);
} catch (ParseException e) {
e.printStackTrace();//打印异常信息
System.out.println("字符串格式异常,请重新输入,【格式:yyyy-MM-dd HH:mm:ss】");
}
}
}
测试记录:
d1指定模式前:Fri Jul 02 10:35:12 CST 2021
d1指定模式后:2021 年 07 月 02 日 10:35:12
d2:Thu Aug 08 12:23:45 CST 2080
参考:
- https://blog.csdn.net/qq_43529621/article/details/115858596