四、JDK8之前的时间API(System.currentTimeMilllis(),Date,Calendar,LocalDate,LocalTime,LocalDateTime)

tech2024-01-18  83

一.System.currentTimeMilllis()

      用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。

@Test public void test1(){ System.out.println(System.currentTimeMillis()); }

      输出为1599124586831,称为时间戳。

二、java.util.Date类

两个构造器和两个方法

@Test public void test2(){ Date date1 = new Date(); System.out.println(date1.toString());//Thu Sep 03 17:21:38 CST 2020 long time =date1.getTime(); System.out.println(time);//1599124898180 Date date2 = new Date(time); System.out.println(date2.toString()); }

      如上代码所示,Date构造器有两种,空参构造器返回一个对应于当前时间的Date对象,可以通过调用toString()函数来输出当前的时间;也可以通过调用getTime()来输出当前时间的时间戳。同时也可以将时间戳作为参数传给Date构造器,将返回该时间戳对应的时间的对象。 **注意事项:**Date中的年份是从1900开始的,而月份从0开始

@Test public void test4(){ Date date = new Date(2020, 9, 8); System.out.println(date); Date date2 = new Date(2020-1900, 9-1, 8); System.out.println(date2); //Fri Oct 08 00:00:00 CST 3920 //Tue Sep 08 00:00:00 CST 2020 }

三.java.text.SimpleDateFormat类(日期格式化) 格式化:日期——>字符串 解析:字符串——>日期

@Test public void test3() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(); Date date = new Date(); String str = sdf.format(date); //格式化 System.out.println(str); Date date2 = sdf.parse(str);//解析 System.out.println(date2); //输出: //20-9-3 下午7:09 //Thu Sep 03 19:09:00 CST 2020 }

四、iava.util.Calendar类——日历类

@Test public void testCalendar(){ Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getClass());//class java.util.GregorianCalendar System.out.println(calendar.get(Calendar.DAY_OF_MONTH)); System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); Date date = calendar.getTime();//日历类转换为Date类 System.out.println(date); calendar.setTime(date); //Date类转换为日历类 }

五、LocalDate类,LocalTime类,LocalDateTime类

@Test public void test5(){ LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate); System.out.println(localTime); System.out.println(localDateTime); LocalDateTime currenttime = LocalDateTime.of(2020, 9, 3, 20, 46 ); System.out.println(currenttime);//无偏移 //2020-09-03 //20:46:54.611 //2020-09-03T20:46:54.611 //2020-09-03T20:46 }

六、java.time.format.DateTimeFormatter类——同理SimpleDateFormat

@Test public void test6(){ //格式化 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyy-MM-dd hh:mm:ss"); String str4 = formatter.format(LocalDateTime.now()); System.out.println(str4); //解析 TemporalAccessor parse = formatter.parse(str4); System.out.println(parse); }
最新回复(0)