当前位置: 首页 > news >正文

JAVA中的日期

获取当前的日期 LocalDate

  		LocalDate today = LocalDate.now();System.out.println("今天是:"+today);//今天是:2024-05-06String format = today.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));System.out.println("今天是:" + format);//今天是:2024年05月06日String format1 = today.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));System.out.println("今天是:" + format1);//今天是:2024年05月06日

获取年月日

  		LocalDate today = LocalDate.now();int year = today.getYear();int month = today.getMonthValue();int day = today.getDayOfMonth();//Year: 2024 Month: 5 Day: 6System.out.printf("Year: %d Month: %d Day: %d%n", year, month, day);

日期创建

  		LocalDate today = LocalDate.of(2017, 9, 1);//today = 2017-09-01System.out.println("today = " + today);

两个日期判断是否相等

  		LocalDate today = LocalDate.now();LocalDate before = LocalDate.of(2017, 9, 1);if (today.equals(before)) System.out.println("相等");else System.out.println("不相等");

YearMonth

  		YearMonth currentYearMonth = YearMonth.now();//当前是 2023-05 月 共: 31 天 %n 表示换行System.out.printf("当前是 %s  本月共: %d 天 %n", currentYearMonth, currentYearMonth.lengthOfMonth());YearMonth creditCardExpiry = YearMonth.of(2029, Month.APRIL);//你的信用卡将于 2029-04 到期System.out.printf("你的信用卡将于 %s 到期", creditCardExpiry);

周期性时间

  		LocalDate today = LocalDate.now();LocalDate birthdayDate = LocalDate.of(2017, 9, 1);MonthDay birthday = MonthDay.of(birthdayDate.getMonth(), birthdayDate.getDayOfMonth());MonthDay currentMonthDay  = MonthDay.from(today);if (birthday.equals(currentMonthDay)) System.out.println("今天是你的生日");else System.out.println("今天不是你的生日");

获取当前时间 LocalTime

  		LocalTime now = LocalTime.now();//now=16:13:44.416679400System.out.println("now="+now);String timeWithMillis = now.format(DateTimeFormatter.ofPattern("HH:mm:ss.SSS"));//timeWithMillis=16:13:44.416System.out.println("timeWithMillis="+timeWithMillis);

获取当前时间前后的时间

  		LocalTime now = LocalTime.now();System.out.println("现在时间是:"+now);LocalTime hourAfter = now.plusHours(2);System.out.println("两小时之后的时间是:"+hourAfter);LocalTime hourBefore = now.minusHours(2);System.out.println("两小时之前的时间是:"+hourBefore);LocalTime localTime = now.plusMinutes(2);System.out.println("两分钟之后的时间是:"+localTime);System.out.println("两分钟之前的时间是:"+now.minusMinutes(2));System.out.println("两秒之后的时间是:"+now.plusSeconds(2));System.out.println("两秒之前的时间是:"+now.minusSeconds(2));System.out.println("两纳秒之后的时间是:"+now.plusNanos(2));System.out.println("两纳秒之前的时间是:"+now.minusNanos(2));

获取当前日期前后的日期

  		LocalDate now = LocalDate.now();//当前日期:2024-05-06System.out.println("当前日期:"+now);//一周后的日期:2024-05-13System.out.println("一周后的日期:"+now.plusWeeks(1));//一周前的日期:2024-04-29System.out.println("一周前的日期:"+now.minusWeeks(1));//一月后的日期:2024-06-06System.out.println("一月后的日期:"+now.plusMonths(1));//一月前的日期:2024-04-06System.out.println("一月前的日期:"+now.minusMonths(1));//一年后的日期:2025-05-06System.out.println("一年后的日期:"+now.plusYears(1));//一年前的日期:2023-05-06System.out.println("一年前的日期:"+now.minusYears(1));

Clock 时钟类(时间戳)

  		Clock clock = Clock.systemUTC();// 获取当前时间戳	1714988314792System.out.println(clock.millis());Clock clock1 = Clock.systemDefaultZone();// 获取当前时间戳	1714988314808System.out.println(clock1.millis());// 也可以	1714988314808System.out.println(System.currentTimeMillis());Instant timestamp = Instant.now();//			1714988314808System.out.println(timestamp.toEpochMilli());

判断日期早晚于

  		LocalDate now = LocalDate.now();System.out.println("今天是:"+now);//今天是:2024-05-06LocalDate day = LocalDate.of(2024, 5, 6);LocalDate yesterday = LocalDate.of(2024, 5, 5);LocalDate tomorrow = LocalDate.of(2024, 5, 7);if (now.isAfter(day)) {//now和day是同一天,所以不会输出System.out.println("now是day之后的日期");}if (now.isBefore(day)) {//now和day是同一天,所以不会输出System.out.println("now是day之前的日期");}if (now.isAfter(yesterday)) {//正常输出 now是yesterday之后的日期System.out.println("now是yesterday之后的日期");}if (now.isBefore(tomorrow)) {//正常输出 now是tomorrow之前的日期System.out.println("now是tomorrow之前的日期");}

时区

  		ZoneId america = ZoneId.of("America/New_York");LocalDateTime localtDateAndTime = LocalDateTime.now();//当前本地时间:2024-05-06T16:52:11.234393300System.out.println("当前本地时间:"+localtDateAndTime);ZonedDateTime dateAndTimeInNewYork  = ZonedDateTime.of(localtDateAndTime, america );//TODO: 这一块输出的时间应该和currentDateTimeInNY一样吧。//把当前时间转换成纽约时区的时间	New_York Time Zone : 2024-05-06T16:52:11.234393300-04:00[America/New_York]System.out.println("New_York Time Zone : " + dateAndTimeInNewYork);ZonedDateTime currentDateTimeInNY = ZonedDateTime.now(ZoneId.of("America/New_York"));//直接获取纽约时区的时间		Current Time in New York: 2024-05-06T04:52:11.237388200-04:00[America/New_York]System.out.println("Current Time in New York: " + currentDateTimeInNY);

闰年判断

  		LocalDate now = LocalDate.now();if (now.isLeapYear()) {// 闰年System.out.println("闰年");}else {System.out.println("平年");}LocalDate leapYear = LocalDate.of(2018, 2, 5);if (leapYear.isLeapYear()) {System.out.println("闰年");} else {// 平年System.out.println("平年");}

日期间的天数和月数

	public static void main(String[] args) {LocalDate today = LocalDate.now();//today = 2024-05-06System.out.println("today = " + today);LocalDate java = LocalDate.of(2018, 12, 14);//参数1是开始时间,参数2是结束时间   五年四个月二十二天Period result = Period.between(java,today);//today和java相差了-4月System.out.println(" java 和 today 相差了 "+ result.getMonths()+"月");//today和java相差了-23天System.out.println(" java 和 today 相差了 "+ result.getDays()+"天");//today和java相差了-5年System.out.println(" java 和 today 相差了 "+ result.getYears()+"年");// java 和 today 相差了 1970天System.out.println(" java 和 today 相差了 "+ daysBetween(java,today)+"天");// java 和 today 相差了 64月System.out.println(" java 和 today 相差了 "+ monthsBetween(java,today)+"月");// java 和 today 相差了 5年System.out.println(" java 和 today 相差了 "+ yearsBetween(java,today)+"年");}public static int daysBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.DAYS.between(date1, date2);}public static int monthsBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.MONTHS.between(date1, date2);}public static int yearsBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.YEARS.between(date1, date2);}

解析或格式化日期

  		String date = "20180205";LocalDate formatted1 = LocalDate.parse(date, DateTimeFormatter.BASIC_ISO_DATE);//20180205  格式化后的日期为:  2018-02-05System.out.println(date+"  格式化后的日期为:  "+formatted1);LocalDate formatted2 = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyyMMdd"));//20180205  格式化后的日期为:  2018-02-05System.out.println(date+"  格式化后的日期为:  "+formatted2);DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");String format = formatted2.format(dateTimeFormatter);//20180205  格式化后的日期为:  2018/02/05System.out.println("20180205  格式化后的日期为:  "+format);

日期字符串转换

  		LocalDateTime date = LocalDateTime.now();//要是用yyyy/MM/dd 下面字符串转日期的要保持一致DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//日期转字符串String str = date.format(format1);//日期转换为字符串:2024-05-06 18:06:29System.out.println("日期转换为字符串:"+str);DateTimeFormatter format2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//字符串转日期LocalDateTime date2 = LocalDateTime.parse(str,format2);//字符串转日期:2024-05-06T18:06:29System.out.println("字符串转日期:"+date2);
http://www.lryc.cn/news/341940.html

相关文章:

  • 一起了解开源自定义表单的优势表现
  • 体育老师工资高吗,奖金有吗
  • Linux驱动开发——(十一)INPUT子系统
  • 大数据毕业设计Python+Django旅游景点评论数据采集分析可视化系统 NLP情感分析 LDA主题分析 bayes分类 旅游爬虫 旅游景点评论爬虫 机器学习 深度学习 人工智能 计算机毕业设计
  • FSNotes for Mac v6.7.1中文激活版:强大的笔记管理工具
  • 课程34:Windows Docker部署.Net Core项目
  • 分布式与一致性协议之ZAB协议(四)
  • 在M1芯片安装鸿蒙闪退解决方法
  • Linux基础-socket详解、TCP/UDP
  • 【菜单下拉效果】基于jquery实现二级菜单下拉效果(附完整源码下载)
  • 如何使用resource-counter统计跨Amazon区域的不同类型资源数量
  • nextTick的作用与原理
  • mybatis工程需要的pom.xml,以及@Data 、@BeforeEach、@AfterEach 的使用,简化mybatis
  • 微信小程序demo-----制作文章专栏
  • Linux migrate_type初步探索
  • i.MX 6ULL 裸机 IAR 环境安装
  • cmake进阶:文件操作
  • 在UI界面中播放视频_unity基础开发教程
  • TypeScipt 联合类型 | 号的使用
  • MATLAB 变换
  • 【005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放】
  • 2、​​​​​​​FreeCAD模块与核心架构总结
  • MySQL为什么默认引擎是InnoDB?
  • K8s: Helm搭建mongodb集群(1)
  • 应用分层和企业规范
  • Flutter笔记:Widgets Easier组件库(1)使用各式边框
  • OpenHarmony实战开发-上传文件
  • 外贸企业邮箱是什么?做外贸企业邮箱哪个好?
  • 写一个简单的程序
  • CentOS安装Docker指南