目
录
针对日期,java提供了相对应的Date类.
一.Date类
1.类 Date 表示特定的瞬间,精确到毫秒
2.构造方法
- 空参构造: Date date = new Date();分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
- 有参构造: Date date = new Date( long date);分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数也就是在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
public class Test {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString()); //Tue May 10 16:38:51 CST 2022
Date date1 = new Date(1000 * 60 * 60 * 24);
System.out.println(date1); //Fri Jan 02 08:00:00 CST 1970
}
}
3.Date类中的方法
- getTime(); 获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
- setTime(); 在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
- toString(); 该类重写了toString方***打印出相对应格式的日期
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date date = new Date();
//获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
long time = date.getTime();
System.out.println(time); //1652172389909
//获取从历元年1970 年 1 月 1 日 00:00:00 到现在所间隔的毫秒值
long timeMillis = System.currentTimeMillis(); //该方法属于System类,功能是i相同的!
System.out.println(timeMillis); //1652172389909
//在历元年上 1970 年 1 月 1 日 00:00:00 增加对应的毫秒值
date.setTime(1000 * 60 * 60 * 24);
System.out.println(date); //Fri Jan 02 08:00:00 CST 1970
System.out.println(date.toString()); //Fri Jan 02 08:00:00 CST 1970
}
}
4.Date类型与Long类型的相互转换
Date类型转换为Long类型(用getTime();)
- Date date = new Date(); long time = date.getTime();
Long类型转换为Date类型(用setTime();)
- 方法一:Date date = new Date(long time);
- 方法二:Date date = new Date(); date.setTime(long time);
import java.util.Date;
public class Test {
public static void main(String[] args) {
//Date------>long
Date date = new Date();
long time = date.getTime();
System.out.println(time); //1652172898683
//long------->Date
long num = 1000 * 60 * 60 * 24;
Date date1 = new Date(num);
System.out.println(date1); //Fri Jan 02 08:00:00 CST 1970
Date date2 = new Date();
date2.setTime(num);
System.out.println(date2); //Fri Jan 02 08:00:00 CST 1970
}
}
由上我们可以获取时间,但是时间的输出格式并不是咱们中国人的阅读习惯!毕竟咱们喜欢某年某月某日这样顺着的顺序!于是就出现了 SimpleDateFormat类.
二. SimpleDateFormat类
1.格式化日期的类 SimpleDateFormat
2.构造方法:
- 空参构造: SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); 没有指定格式,按照默认格式输出.
- 有参构造: SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("放入时间格式 "); 按照指定格式输出.
- 补:这里面的格式是有要求的哈!( yyyy表示年 / MM表示月 / dd表示天 / HH表示时 / mm表示分 / ss表示秒 / E表示星期 常用的就是这些,还有很多呢,需要的话可以在api帮助文档里查查!)
3.Date类型与String日期字符串类型的转换
- 日期 Date转换成日期字符串 String(用format方法)
- 日期字符串 String转换成日期 Date(用parse方法解析字符串)
注意格式 和日期字符串的格式要对应,否则就解析失败.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateAndString {
public static void main(String[] args) throws ParseException {
//日期 Date-----日期字符串 String
Date date = new Date();
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");
String dateStr2 = simpleDateFormat1.format(date);
System.out.println(dateStr2); //2022年05月10日 17时12分09秒 星期二
//日期字符串 String----日期 Date
String dateStr = "2000-10-10 14:30:30";
//注意格式 和日期字符串的格式要对应,否则就解析失败。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = simpleDateFormat.parse(dateStr); //此处会出现异常,先抛出后期学习了再进一步了解
System.out.println(date1); //Tue Oct 10 14:30:30 CST 2000
}
}
(小编也在努力学习更多哟!以后再慢慢分享的啦!)
希望对友友们有所帮助!!!!