部分Java的日期类使用

日期类

部分Java的日期类使用

1.Date类

Date类是一个使用较多的类,在使用中直接使用 java.util.Date 类的构造方法并进行输出就可以得到一个完整的日期。

在Date类的方法中提供了两个long与Date间转换操作的方法:

(1)构造方法:public Date(long date)。

(2)将Date变为long:public long getTime()。

 1 import javax.swing.*;
 2 import java.util.Date;
 3 ​
 4 public class Datetest {
 5     public static void main(String[] agrs){
 6         Date date1 = new Date();    //实例化Date对象
 7         System.out.println(date1);  //输出日期
 8         
 9         System.out.println("--------");
10 ​
11         long cur = System.currentTimeMillis();  //取得当前的日期和时间已long型返回
12         System.out.println(cur);
13         Date date2 = new Date(cur); //实例化Date对象
14         System.out.println(date2);  //输出对象信息
15         System.out.println(date2.getTime());    //输出对象信息
16 ​
17     }
18 }

 


 

 

2.SimpleDateFormat类

SimpleDateFormat类可用于日期转换,如原日期为2021-5-4 10:30:23.132,转换后的日期为2021年5月4日 10时30分23秒132毫秒。从这两个日期可以发现日期数字一样但是日期格式不同,想要实现转换就必须使用SimpleDateFormat类来完成。

日期格式化模板标记

标记 描述
y 年,年份是4个数字,所以需要使用“yyyy”表示
M 月份,月份是两位数,用“MM”表示
d 日是两位数,用“dd”表示
H 一天最多24个小时,是两位数,用“HH”表示
m 分钟是两位数,用“mm”表示
s 秒是两位数,用“ss”表示
S 毫秒是3位数,用“SS”表示

类中的常用方法

方法 类型 描述
public SimpleDateFormat(String pattern) 构造 通过一个指定的模板构造对象
public Date parse(String source) throws ParseException 普通 将一个包含日期的字符串变为Date类型
public final String format(Date date) 普通 将一个Date类型按照指定格式转换为String类型
 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 ​
 5 public class SimpleDateFormatdome {
 6     public static void main(String[] args) {
 7         String strDate = "2021-05-04 10:30:23.132"; //定义日期和时间的字符串
 8         String pat1 = "yyyy-MM-dd HH:mm:ss.SSS";    //准备第一个模板,这个模板是被转换的,所以格式要和定义的日期一样
 9         String pat2 = "yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒 SSS 毫秒"; //准备第二个模板,这个是转换后的格式
10 ​
11         SimpleDateFormat sdf1 = new SimpleDateFormat(pat1); //实例化模板对象
12         SimpleDateFormat sdf2 = new SimpleDateFormat(pat2); //实例化模板对象
13 ​
14         Date d = null;  
15         try {
16             d = sdf1.parse(strDate);    //将给定的字符串中的日期按模板1取出来
17         } catch (ParseException e) {
18             e.printStackTrace();
19         }
20 ​
21         System.out.println(sdf2.format(d)); //将转换后的日期新格式输出
22     }
23 }

 

3.Calendar类

Calendar类是一个抽象类,如果想用一个抽象类必须依靠对象的多态性,通过子类**进行父类的实例化操作。

 1 import java.util.Calendar;
 2 import java.util.GregorianCalendar;
 3 ​
 4 public class Calendardome {
 5     public static void main(String[] args) {
 6         Calendar calender = null;   //声明一个Calendar对象
 7         calender = new GregorianCalendar(); //通过子类实例化
 8 ​
 9         System.out.println("年:"+calender.get(Calendar.YEAR));   //年
10         System.out.println("月:"+(calender.get(Calendar.MONTH)+1));  //月
11         System.out.println("日:"+calender.get(Calendar.DAY_OF_MONTH));   //日
12         System.out.println("时:"+calender.get(Calendar.HOUR_OF_DAY));    //时
13         System.out.println("分:"+calender.get(Calendar.MINUTE)); //分
14         System.out.println("秒:"+calender.get(Calendar.SECOND)); //秒
15         System.out.println("毫秒:"+calender.get(Calendar.MILLISECOND));   //毫秒
16 ​
17     }
18 }

 


 

上一篇:关于用出生日期查询生日还有多少天的问题


下一篇:日期插件-flatpickr