大数据平台建站,网页设计随机点名代码,国外网站做问卷,郑州网站专业制作目录
什么是Calendar 类
Calendar日期获取#xff0c;设置#xff0c;加减
LocalDateTime日期获取#xff0c;设置#xff0c;加减
LocalDateTime日期时间的加减
当前时间基础上#xff0c;指定本年当中的第几天
获取日期的年月日周时分秒 时间日期前后的比较与判断…目录
什么是Calendar 类
Calendar日期获取设置加减
LocalDateTime日期获取设置加减
LocalDateTime日期时间的加减
当前时间基础上指定本年当中的第几天
获取日期的年月日周时分秒 时间日期前后的比较与判断
类型转换时间戳
自定义转化 什么是Calendar 类 Calendar 类是一个抽象类它为特定瞬间与 YEAR 、 MONTH 、 DAY_OF—MONTH 、 HOUR 等日历字段之间的转换提供了一些方法并为操作日历字段如获得下星期的日期 提供了一些方法。 创建 Calendar 对象不能使用 new 关键字因为 Calendar 类是一个抽象类但是它提供了一个getInstance() 方法来获得 Calendar 类的对象。 getInstance() 方法返回一个 Calendar 对象其日历字段已由当前日期和时间初始化 Calendar日期获取设置加减
创建一个日历对象 获取当前年份月份日期等..... 设置指定年份月份日期等..... Calendar calendarCalendar.getInstance();//创建一个日历对象int yearcalendar.get(calendar.YEAR);//获取当前年份System.out.println(获取当前年份:year);int monthcalendar.get(calendar.MONTH)1;//获取月份System.out.println(获取月份:month);int datecalendar.get(calendar.DATE);//获取日期System.out.println(获取日期:date);int huorcalendar.get(calendar.HOUR);//获取时System.out.println(获取时:huor);int houscalendar.get(calendar.HOUR_OF_DAY);//获取时的24小时制System.out.println(获取时的24小时制:hous);//将给定的日历字段设置为给定的值calendar.set(calendar.YEAR,2034);//设置指定年份int year2calendar.get(calendar.YEAR);//获取设置指定年份System.out.println(获取设置指定年份:year2);calendar.set(calendar.MONTH,5);//设置指定月份int month2calendar.get(calendar.MONTH);//获取设置的指定月份System.out.println(获取设置的指定月份month2);calendar.set(calendar.DATE,5);//设置指定日子int date2calendar.get(calendar.DATE);//获取指定日System.out.println(获取指定日:date2);
Calendar年份增加两年
Calendar月份减少三月
// 根据日历规则为给定的日历字段添加或者减去指定的事件量calendar.add(calendar.YEAR,2);//把年份增加两年calendar.add(calendar.MONTH,-3);//把月份减少三年int yuercalendar.get(calendar.YEAR);int month3calendar.get(calendar.MONTH);System.out.println(yuer年month3月date日); LocalDateTime日期获取设置加减 LocalDate只能设置仅含年月日的格式LocalTime只能设置仅含时分秒的格式LocalDateTime可以设置含年月日时分秒的格式 LocalDateTime loLocalDateTime.now();// 创建一个表示当前日期和时间的对象System.out.println(当前日期时间lo);LocalDate locLocalDate.now();//获取当前日期System.out.println(获取当前日期:loc);LocalTime ltimLocalTime.now();//获取当前时间System.out.println(获取当前时间ltim);LocalDate lo2LocalDate.of(2016,2,3);//指定日期System.out.println(:指定日期lo2);LocalTime yimLocalTime.of(7,33,20);//指定时间System.out.println(指定时间yim);LocalDateTime lotimeLocalDateTime.of(2015,3,22,11,43,34);System.out.println(指定日期时间lotime);
LocalDateTime日期时间的加减
// LocalDateTime日期时间的加减LocalDateTime lotimLocalDateTime.now();//获取当前日期LocalDateTime plusYesarlotim.plusYears(2L);//年份加2LocalDateTime plusMonthlotim.plusMonths(3L);//月份加3LocalDateTime plusDayslotim.plusDays(7L);//日7LocalDateTime plusHourlotim.plusHours(4L);//小时4LocalDateTime plusMInlotim.plusMinutes(10);//分钟10LocalDateTime plusSconlotim.plusSeconds(10L);//秒10System.out.println(\n\n当前时间lotim);System.out.println(当前时间2年后的时间是plusYesar);System.out.println(当前月份3plusMonth);System.out.println(当前时间日7plusDays);System.out.println(当前时间小时4plusHour);System.out.println(当前时间分钟10plusMIn);System.out.println(当前时间秒10plusScon);
当前时间基础上指定本年当中的第几天 LocalDate loDateLocalDate.now();//获取当前时间//当前时间基础上指定本年当中的第几天LocalDate withloDate.withDayOfYear(200);//获取当前年份的第200天LocalDate mothloDate.withDayOfMonth(5);//获取当前月份的第几天LocalDate yearloDate.withYear(2025);//指定年份LocalDate monloDate.withMonth(3);//指定月份System.out.println(\n\n当前时间:loDate);System.out.println(指定当前年份的第200天with);System.out.println(当前月份的第5天:moth);System.out.println(指定年份:year);System.out.println(指定月份:mon);
获取日期的年月日周时分秒
// 获取日期的年月日周时分秒LocalDateTime lodatmLocalDateTime.now();int dayYearlodatm.getDayOfYear();int dayMonthlodatm.getDayOfMonth();DayOfWeek dayofweeklodatm.getDayOfWeek();System.out.println(\n\n今天是lodatm\n 本年当中的第dayYear天\n 本月当中的第dayMonth天\n 本周中的星期dayofweek.getValue()及dayofweek\n);//获取当天时间的年月日时分秒int year2lodatm.getYear();Month month2lodatm.getMonth();int daylodatm.getDayOfMonth();int hourlodatm.getHour();int minutelodatm.getMinute();int secoundlodatm.getSecond();System.out.println(\n\n今天是lodatm\n年:year2\n月:month2.getValue()\n 日day\n时hour\n分minute\n秒secound);时间日期前后的比较与判断 // 时间日期前后的比较与判断LocalDate loda1LocalDate.of(2017,7,7);LocalDate loda2LocalDate.of(2019,9,9);boolean dateisbloda1.isBefore(loda2);System.out.println(\n\n 时间日期前后的比较与判断dateisb); 计算时间、日期间隔Duration:用于计算两个“时间”间隔Period:用于计算两个“日期”间隔计算俩个日期的间隔-年月日 LocalDate date1LocalDate.of(2018,3,3);LocalDate date2LocalDate.of(2023,6,6);Period perPeriod.between(date1,date2);System.out.println(相差年数per.getYears());System.out.println(相差月份per.getMonths());System.out.println(相差日数per.getDays());System.out.println(\n);long yearsper.get(ChronoUnit.YEARS);long monthper.get(ChronoUnit.MONTHS);long daysper.get(ChronoUnit.DAYS);System.out.println(相差的年月日分别为years-month-days);获取时间间隔并不是单词的年月日数字的加减而是计算出具体相差多少天
计算俩个时间的间隔 System.out.println(\n\n);LocalDateTime da1LocalDateTime.now();LocalDateTime da2LocalDateTime.of(2022,2,2,22,30,10);Duration duDuration.between(da1,da2);System.out.println(da1和da2间隔\ndu.toDays()天du.toHours()小时du.toMinutes()分钟 du.toMillis()毫秒du.toNanos()纳秒);
类型转换时间戳
将Instant对象转换为时间戳
将LocalDateTime对象转换为时间戳
将Date对象转换为时间戳
使用Calendar将日期转换为时间戳(两种方法) Instant insInstant.now();System.out.println(\n\n当前时间ins);//2023-11-17T03:11:11.336552200Z// 将Instant对象转换为时间戳long insTimeInstant.now().toEpochMilli();System.out.println(Instant时间戳insTime);Date dateDate.from(ins);Instant instantdate.toInstant();System.out.println(instant);//将LocalDateTime对象转换为时间戳long loTimelo.toInstant(ZoneOffset.of(8)).toEpochMilli();System.out.println(LocalDateTime时间戳loTime);//将Date对象转换为时间戳Date date4new Date();long dateTimedate4.getTime();System.out.println(Date时间戳dateTime);long calTimecalendar.getTimeInMillis();//第一种方法System.out.println(Calendar时间戳1:calTime);System.out.println(Calendar时间戳2calendar.getTime().getTime());//第二种方法 自定义转化
自定义格式
自定义转化的格式一定要与日期类型对应
LocalDate只能设置仅含年月日的格式
LocalTime只能设置仅含时分秒的格式
LocalDateTime可以设置含年月日时分秒的格式 LocalDateTime dateLocalDateTime.now();DateTimeFormatter formatterDateTimeFormatter.ofPattern(yyyy年MM月dd日);String dateStrformatter.format(date);System.out.println(dateStr);//2023年11月17日DateTimeFormatter formatter1DateTimeFormatter.ofPattern(yyyy-MM-dd);System.out.println(formatter1.format(LocalDate.now()));//2023-11-17DateTimeFormatter formatter2DateTimeFormatter.ofPattern(HH:mm:ss);//时分秒System.out.println(formatter2.format(LocalTime.now()));//16:49:48
将时间字符串形式转化为日期对象
格式的写法必须与字符串的形式一样 String datetim2023-11-12 12:32:20;DateTimeFormatter dtfDateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss);LocalDateTime ldtLocalDateTime.parse(datetim,dtf);System.out.println(ldt);