日期类
日期类
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
与时间相关的类
1.System类下的currentTimeMillis()
2.Date类:java.util.Date(以及其子类java.sql.Date)
如何创建其实例:其下方法:toString()、getTime()
3.SimpleDateFormat类
4.Calendar类
1.java.lang.System类
system类提供的public static long currentTimeMills()用来返回当前时间与1970年0时0分0秒之间以毫秒为单位的时间差。
2.java.util.Date类
表示特定的瞬间,精确到毫秒
Date():创建对象可以获取本地当前的时间
Date(long date)
getTime():用来返回当前时间与1970年0时0分0秒GMT以来对Date对象表示的毫秒数。
toString():把此Date对象转换为以下形式的String:星期 mon dd hh:mm:ss:zzz yyyy
@Test public void test1(){ Date d1 = new Date(); System.out.println(d1.toString());//Fri Apr 12 14:02:27 CST 2019 System.out.println(d1.getTime());//1555049142281 java.sql.Date d2 = new java.sql.Date(214141143); System.out.println(d2);//1970-01-03 Date d3 = new Date(1555049142281L); System.out.println(d3); }
3.SimpleDateFormat类易于国际化
格式化:日期----->文本使用SimpleDateFormat()方法
解析:文本------>日期
格式化:
//方式一: SimpleDateFormat sdf = new SimpleDateFormat(); String date = sdf.format(new Date()); System.out.println(date);//19-4-12 下午2:13 //方式二: SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String date1 = sdf1.format(new Date()); System.out.println(date);//19-4-12 下午2:19
注:
解析需要看创建SimpleDateFormat类对象的构造器,参数的格式决定了写入parse()参数的形式
解析: Date date2 = sdf.parse("19-4-12 下午2:13"); System.out.println(date2);
练习:
三天打鱼两天晒网
@Test public void test2() throws ParseException{ String str1 = "1999-9-21"; String str2 ="1999-9-19"; int cday=getDays(str1, str2); if(cday%5==0||cday%5==4){ System.out.println("晒网"); }else{ System.out.println("打鱼"); } } public int getDays(String date1,String date2) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); Date d1 = sdf.parse(date1); Date d2 = sdf.parse(date2); long ltime = d1.getTime()-d2.getTime(); return (int)ltime/1000/3600/24+1;
}
4.java.lang.Calendar(日历)类
Calendar是一个抽象基类,主要用于完成日期字段之间相互操作功能
<1>获取Calendar实例的方法
》使用Calendar.getInstance()方法
》调用他的子类GregorianCalendar的构造器。
<2>通过get(int field)方法来取得想要的时间信息
》public void set(int field,int value)
》public void add(int field,int amount)
》public final Date getTime()
》public final void setTime(Date date)
@Test public void test3(){ Calendar c = Calendar.getInstance(); int i = c.get(Calendar.DAY_OF_MONTH);//当月的第几天 System.out.println(i);//12
c.add(Calendar.DAY_OF_MONTH, 2); int j = c.get(Calendar.DAY_OF_MONTH); System.out.println(j);//14
c.set(Calendar.DAY_OF_MONTH, 24);
Date d = c.getTime();
System.out.println(d);//Wed Apr 24 20:55:40 CST 2019
}
