代码示例:
/* * 与时间相关的类 * 1.System类下的currentTimeMillis(); * 2.Date类:java.util.Date //Date类的API不易于国际化,大部分被废弃了。 * 如何创建其实例:其下的方法:toString()、getTime()(以及其子类java.sql.Date) * 3.SimpleDateFormat类 * 4.Calender类 * */ public class TestDate { //日历:Calendar类 get()/add()/set()/Date getTime()/seTime(Date date) @Test public void test4() { Calendar c = Calendar.getInstance(); int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(day); c.add(Calendar.DAY_OF_MONTH, -2); day = c.get(Calendar.DAY_OF_MONTH); System.out.println(day); c.set(Calendar.DAY_OF_MONTH, 9); Date d = c.getTime(); System.out.println(d); } /* * “三天打鱼两天晒网” 1990-01-01 XXXX-XX--XX 打渔?晒网? * */ @Test public void test3() throws ParseException { String str1 = "1990-01-01"; String str2 = "1990-01-06"; int dates = getDays(str1, str2); if (dates % 5 == 0 || dates % 5 == 4) { System.out.println("晒网"); } else { System.out.println("打渔"); } } //返回date1和date2之间的天数,date1早于date2 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 milliTime = d2.getTime() - d1.getTime(); return (int) (milliTime / 1000 / 3600 / 24) + 1; //加1 是表示强转的时候,比如3.5表示要多加1天 } /* * java.text.SimpleDateFormat类易于国际化 * 格式化:日期--->文本 使用SimpleDateFormat的format方法 * 解析: 文本---->日期 * */ @Test public void test2() throws ParseException { //1.格式化1 SimpleDateFormat sdf = new SimpleDateFormat(); String date = sdf.format(new Date()); System.out.println(date); //19-4-8 下午1:50 //2.格式化2 SimpleDateFormat sdf1 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"); date = sdf1.format(new Date()); System.out.println(date); //星期一, 8 四月 2019 14:10:53 +0800 //3.解析: Date date1 = sdf.parse("19-4-8 下午1:50"); System.out.println(date1); date1 = sdf1.parse("星期一, 8 四月 2019 14:10:53 +0800"); // date1 = sdf1.parse("19-4-8 下午1:50"); System.out.println(date1); } //java.util.Date 不易于国际化 @Test public void test1() { // java.sql.Date d2 = new java.sql.Date(1626312352345L); // System.out.println(d2); //2021-07-15 //创建一个Date的实例 Date d1 = new Date(); System.out.println(d1); System.out.println(d1.toString()); //Mon Apr 08 13:40:47 CST 2019 System.out.println(d1.getTime()); //1554702222986 Date d2 = new Date(1554702222986L); System.out.println(d2); //Mon Apr 08 13:43:42 CST 2019 } }
test1结果:
Mon Apr 08 14:47:03 CST 2019
Mon Apr 08 14:47:03 CST 2019
1554706023798
Mon Apr 08 13:43:42 CST 2019test2结果:
19-4-8 下午2:47
星期一, 8 四月 2019 14:47:13 +0800
Mon Apr 08 13:50:00 CST 2019
Mon Apr 08 14:10:53 CST 2019test3结果:
打渔
test4结果:
8
6
Tue Apr 09 14:47:45 CST 2019