一、Date
java.util.Date 创建Date对象 Date():使用当前时间构建Date对象 Date(long date):参数是距离1950.1.1.00:00:00 |
Date date1 = new Date(); System.out.println("时间为:"+date1); Date date2=new Date(2019*10*11*21*12*56*12); System.out.println("时间为:"+date2); System.out.println("日期比较结果为:"+date1.compareTo(date2)); |
二、SimpleDateFormat
自定义日期风格 工具:帮助对格式进行转换 |
Date date3= new Date();当前系统时间 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd-HH:mm:ss"); 1.format方法:把指定的日期对象转换成指定格式的字符串 String date3str = simpleDateFormat.format(date3); System.out.println("转换后的日期:"+date3str); 2.parse方法:将指定的字符串类型的日期转换成日期对象 String dateStrInp = "2001-03-22-23:12:43"; try { Date date = simpleDateFormat.parse(dateStrInp); System.out.println("格式化后的日期为:"+date); } catch (ParseException e) { System.out.println("字符串不符合日期格式,无法转换"); e.printStackTrace(); } |
三、Calendar方法
建议使用Calendar代替date 使用默认时区和语言环境获得日期对象 |
1.创建Caledar对象,直接通过提供的静态方法实现 Calendar calendar1 = Calendar.getInstance(); System.out.println("1-----"+calendar1); System.out.println("年份为:"+calendar1.get(Calendar.YEAR)); 得到的月份值为0-11之间 System.out.println("月份为:"+calendar1.get(Calendar.MARCH)+1); System.out.println("日为:"+calendar1.get(Calendar.DAY_OF_MONTH)); System.out.println("小时为:"+calendar1.get(Calendar.HOUR)); System.out.println("分钟为:"+calendar1.get(Calendar.MINUTE)); System.out.println("秒数为:"+calendar1.get(Calendar.SECOND)); 2.设置日历中的相关信息 Calendar calendar2 = Calendar.getInstance(); calendar2.set(Calendar.YEAR,2002); calendar2.set(Calendar.MARCH,12); calendar2.set(Calendar.DAY_OF_MONTH,23); calendar2.set(Calendar.MINUTE,45); calendar2.set(Calendar.HOUR,8); calendar2.set(Calendar.SECOND,56); calendar2.set(2013,12,12,23,14,14); System.out.println("2-----"+calendar2); 验证 System.out.println("年份为:"+calendar2.get(Calendar.YEAR)); 得到的月份值为0-11之间 System.out.println("月份为:"+calendar2.get(Calendar.MARCH)+1); System.out.println("日为:"+calendar2.get(Calendar.DAY_OF_MONTH)); System.out.println("小时为:"+calendar2.get(Calendar.HOUR)); System.out.println("分钟为:"+calendar2.get(Calendar.MINUTE)); System.out.println("秒数为:"+calendar2.get(Calendar.SECOND)); 3.gettime()方法,将calendar对象转换为date SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); String calendarDateSter = simpleDateFormat1.format(calendar2.getTime()); System.out.println("3-----"+calendarDateSter); 4.LocalDate方法 LocalDate localDate1 = LocalDate.now(); System.out.println(localDate1); LocalDate localDate2 = LocalDate.of(2020,12,11); System.out.println("4-----"+localDate2.getYear()); 5.LocalTime方法:只能用于表示时间 LocalTime localTime1 = LocalTime.now(); System.out.println(localTime1); LocalTime localTime2 = LocalTime.of(21,12,12); System.out.println("时:"+localTime2.getHour()); 6.LocalDateTime方法:同时包含时间和日期 LocalDateTime dateTime2 = LocalDateTime.of(2020,12,2,12,12,12); System.out.println("日期时间:"+dateTime2); System.out.println("时:"+dateTime2.getHour()); |
四、字符串和日期之间转化
String dateStr1= "2001-11-12"; LocalDate localDateParse1 = LocalDate.parse(dateStr1); System.out.println(localDateParse1); String timestr1 = "11:34:56"; LocalTime localTimeParse1= LocalTime.parse(timestr1); System.out.println(localTimeParse1); String datetimeStr1 = "2021-12-12T11:12:12"; LocalDateTime localDateTimeParse1 = LocalDateTime.parse(datetimeStr1); System.out.println(localDateTimeParse1); 1.创建DateTimeFormatter对象 ofFattern(String pattern) 指定转换模式字符串 String dateStr2="2001年10月23日"; DateTimeFormatter dtf1= DateTimeFormatter.ofPattern("yyyy年MM月dd日"); LocalDate localDateParse2 = LocalDate.parse(dateStr2,dtf1); System.out.println(localDateParse2); String timeStr2= "12时34分45秒"; DateTimeFormatter dtf= DateTimeFormatter.ofPattern("HH时mm分ss秒"); LocalTime localTimeParse2= LocalTime.parse(timeStr2,dtf); System.out.println(localTimeParse2); String datetimeStr2 = "2021/10/23 12时34分44秒"; DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH时mm分ss秒"); LocalDateTime dateTimeparse3 = LocalDateTime.parse(datetimeStr2,dtf3); System.out.println(dateTimeparse3); 2.将日期时间转换成字符串 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate+"----格式化后的日期为:"+localDate.format(dtf1)); System.out.println(localTime+"-----格式化后的日期为:"+localTime.format(dtf)); System.out.println(localDateTime+"-----格式化后的日期为:"+localDateTime.format(dtf3)); |