31.Java基础_日期/日期格式/日历类

  • Date类

Date对象构造方法

Date对象常用方法

 1 import java.util.*;
 2 public class test {
 3     public static void main(String[] args){
 4         //无参构造Date:得到的现在的日期
 5         Date date1=new Date();
 6         System.out.println(date1); //Fri Dec 20 19:15:48 CST 2019
 7 
 8         //有参构造Date:得到的是1970年开始经过num秒的日期
 9         long num=1000000000;
10         Date date2=new Date(num);
11         System.out.println(date2); //Mon Jan 12 21:46:40 CST 1970
12 
13         //getTime():返回一个long型数字表示该时间距离1970年的秒数
14         long num1=date1.getTime();
15         System.out.println(num1); //1576841142212
16 
17         //setTime():修改Date对象的日期为1970年经过x秒后
18         date1.setTime(666);
19         System.out.println(date1); //Thu Jan 01 08:00:00 CST 1970
20     }
21 }
  • SimpleDateFormat类

日期格式化与解析规则

SimpleDateFormat对象构造方法

SimpleDateFormat对象常用方法

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.*;
 4 public class test {
 5     public static void main(String[] args) throws ParseException {
 6         Date date=new Date();
 7         System.out.println(date); //Fri Dec 20 19:50:47 CST 2019
 8 
 9         //format(): 将Date对象格式化为特定格式的字符串
10         //无参构造
11         SimpleDateFormat sdf1=new SimpleDateFormat();
12         String s1=sdf1.format(date); //将date格式化成默认格式的字符串
13         System.out.println(s1); //2019/12/20 下午7:50
14         //有参构造
15         SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
16         String s2=sdf2.format(date); //将date格式化为规定格式的字符串
17         System.out.println(s2); //2019年12月20日 19:50:47
18 
19         //parse():将特定格式的字符串转化为Date对象
20         String s="2048-08-09 11:12:13";
21         SimpleDateFormat dfs=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
22         Date date1=dfs.parse(s); //字符串解析不对应会出问题(所以要加上异常处理throws ParseException)
23         System.out.println(date1); //Sun Aug 09 11:12:13 CST 2048
24     }
25 }
  • Calendar类

Calendar初始化:

Calendar c=Calendar.getInstance(); //底层是以多态的形式生成对象

Calendar对象常用方法:

 1 import java.util.Calendar;
 2 public class test{
 3     public static void main(String[] args) {
 4         //获取日历类对象
 5         Calendar c=Calendar.getInstance(); //以多态形式得到对象
 6         System.out.println(c); //现在的日历信息
 7         int year=c.get(Calendar.YEAR);
 8         int month=c.get(Calendar.MONTH);
 9         int date=c.get(Calendar.DATE);
10         System.out.println(year+"年"+month+"月"+date+"日");//2019年11月22日
11 
12         //add(int field,int amount): 根据日历规则,将指定时间量添加或减去一些时间值
13         c.add(Calendar.YEAR,-10);//减10年:十年前的今天
14         int year1=c.get(Calendar.YEAR);
15         int month1=c.get(Calendar.MONTH);
16         int date1=c.get(Calendar.DATE);
17         System.out.println(year1+"年"+month1+"月"+date1+"日");//2009年11月22日
18 
19         //set(int year,int month,int date):设置当前日历的年月日
20         c.clear(); //设置前先clear一下
21         c.set(1998,9,17);
22         int year2=c.get(Calendar.YEAR);
23         int month2=c.get(Calendar.MONTH);
24         int date2=c.get(Calendar.DATE);
25         System.out.println(year2+"年"+month2+"月"+date2+"日");//1998年9月17日
26 
27     }
28 }
原文地址:https://www.cnblogs.com/NiBosS/p/12074740.html