首页 > 编程语言 >Java8中日期类的使用

Java8中日期类的使用

时间:2024-09-14 20:24:48浏览次数:3  
标签:format System date 日期 使用 println LocalDate Java8 out

LocalDate:日期类

LocalTime:时间类

LocalDateTime:日期时间类

相关操作

创建时间
private static void dateTimeAndFormat() {
    //        当前日期时间
    LocalDate date1 = LocalDate.now();
    //        指定日期时间
    LocalDate date2 = LocalDate.of(2025, 6, 6);
    System.out.println(date1);
    System.out.println(date2);

    //        日期格式化
    DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
    System.out.println(date1.format(fmt));
    System.out.println(date2.format(DateTimeFormatter.ofPattern("yyyy_MM_dd")));
}
日期格式化
private static void format() {
    //        日期格式化
    //        默认:yyyy-MM-dd
    LocalDate date = LocalDate.now();
    System.out.printf("Date format %s\n", date);
    //        时间 不想要毫秒使用.withNano(0)
    //        默认:HH:mm:ss
    LocalTime time = LocalTime.now();
    System.out.printf("Time format %s\n", time);

    //        自定义格式
    LocalDateTime dateTime = LocalDateTime.now();
    String dateTimeStr = dateTime.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"));
    System.out.printf("DateTime format %s\n", dateTimeStr);
}
将 String 转为日期与计算日期
private static void dateCalculate() {
    //        将string类型的时间转换成LocalDate 或者 LocalTime 或者 LocalDateTime
    String dateStr = "2025年05月20日";
    //        转换为LocalDate
    DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
    LocalDate date = LocalDate.parse(dateStr, fmt);

    //        20天前
    LocalDate dateAgo = date.plusDays(-20);
    System.out.println(date.format(fmt) + "  20天前是  " + dateAgo.format(fmt));

    //        计算两个日期间隔的年月日 是以年为单位
    LocalDate date1 = LocalDate.parse("2020-05-20");
    LocalDate date2 = LocalDate.parse("2021-09-09");
    Period period = Period.between(date1, date2);
    System.out.println("date1到date2间隔" + period.getYears() + "年" + period.getMonths() + "月" + period.getDays() + "日");
    //        计算两个日期间隔多少天
    long day = date2.toEpochDay() - date1.toEpochDay();
    System.out.println("间隔" + (day + 123) + "天");
}
获取某一天
private static void getDay(){
    LocalDate date = LocalDate.now();
    //        获取当月第一天
    LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth());
    System.out.println(firstDay);
    //        获取当月最后一天
    LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
    System.out.println(lastDay);
    //        获取次月第一天 就是当月最后一天加1
    LocalDate nextMonthFirstDay = date.with(TemporalAdjusters.firstDayOfNextMonth());
    System.out.println(nextMonthFirstDay);
    //        当年第一天
    LocalDate firstDayYear = date.with(TemporalAdjusters.firstDayOfYear());
    System.out.println(firstDayYear);
    //        当年最后一天
    LocalDate lastDayYear = date.with(TemporalAdjusters.lastDayOfYear());
    System.out.println(lastDayYear);
    //        当年最后一个周日
    LocalDate lastSundayYear = lastDayYear.with(TemporalAdjusters.lastInMonth(DayOfWeek.SUNDAY));
    System.out.println(lastSundayYear);
}

标签:format,System,date,日期,使用,println,LocalDate,Java8,out
From: https://blog.csdn.net/qq_64353233/article/details/142265869

相关文章

  • C# 使用NPOI 导出文件到Excel.支持分页及自定义排序
    导出帮助类usingNPOI.HSSF.UserModel;usingNPOI.OpenXmlFormats.Spreadsheet;usingNPOI.OpenXmlFormats.Vml;usingNPOI.SS.UserModel;usingNPOI.SS.Util;usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.IO;usingSystem.Text;......
  • QLineEdit使用技巧
    说明QLineEdit类的常用方法和属性类别方法/属性描述文本和输入text()获取或设置文本框中的文本setText()设置文本框中的文本placeholderText()获取或设置占位符文本setPlaceholderText()设置占位符文本inputMask()获取或设置输入掩码setIn......
  • 使用Let’s Encrypt 配置 SSL 证书去除浏览器不安全告警
    Let'sEncrypt是什么https://letsencrypt.org/zh-cn/about/如何操作进行配置实现ssl认证使用certbot获取Let'sEncrypt的免费SSL证书更新系统软件包sudoyumupdate-y安装EPEL仓库(Certbot通常位于EPEL仓库中):sudoyuminstallepel-release-y安装Certbot:sudoyuminst......
  • 使用MySQL Workbench进行数据库备份
    1、打开MySQLWorkbench2、进行数据库连接配置 如果之前连过,会有历史记录,直接点击需要备份的连接即可3、进入主界面后,选择左侧的Administration选项卡,然后点击DataExport;或者点击工具栏的Server——DataExport4、选择要备份的数据库,默认选择所有的表,在objectstoexpo......
  • 分享几个可以免费使用GPT的网站
    1、ChatGPT链接:点击直达这个网站可以免费使用GPT-3.5和GPT-4.0模型,反应速度也很快,还有AI绘画可以体验喔~推荐指数:⭐⭐⭐⭐⭐2、ChatGAI链接: 点击直达ChatGAI是一款功能强大的AI工具,聊天问答、做PPT、生成视频样样精通呢。推荐指数:⭐⭐⭐⭐⭐3、文心一言链接:文心一言......
  • 时间日期工具类
    时间日期工具类importjava.time.*;importjava.time.format.DateTimeFormatter;importjava.time.temporal.ChronoUnit;publicclassDateTimeUtils{privatestaticfinalStringDEFAULT_DATE_FORMAT="yyyy-MM-dd";privatestaticfinalStringDEFA......
  • 论文速递! Attention-LSTM特征融合,用于剩余使用寿命(RUL)预测
    论文标题:MachineRemainingUsefulLifePredictionviaanAttention-BasedDeepLearningApproach期刊信息:IEEETIE(中科院1区,JCRQ1TOP,IF=7.5)引用:ChenZ,WuM,ZhaoR,etal.Machineremainingusefullifepredictionviaanattention-baseddeeplearningapproac......
  • nlohmann/json安装与使用
    介绍nlohmann/json是一个用于处理JSON数据的C++库,提供了简单而强大的JSON解析和生成功能。以其简洁易用、功能强大而受到广泛欢迎。优点简单易用:使用现代C++特性,如自动类型推断和范围for循环,简化了JSON的创建、访问和操作。与标准库兼容:它与C++标准......
  • LEETCODE 1709 两个日期的最大空档期
      表: UserVisits+-------------+------+|ColumnName|Type|+-------------+------+|user_id|int||visit_date|date|+-------------+------+该表没有主键,它可能有重复的行该表包含用户访问某特定零售商的日期日志。 假设今天的日期是 '2021-1-1......
  • LdapSrvWeight和LdapSrvPriority一起使用时,优先级如何确定?
    LdapSrvWeight和LdapSrvPriority一起使用时,LdapSrvPriority的优先级高于LdapSrvWeight。LdapSrvPriority直接决定了域控制器的优先级顺序,值越低表示优先级越高,客户端会优先尝试连接这些域控制器。而LdapSrvWeight则是按照比例来分配客户端连接请求,当LdapSrvPriority相同的域控制器......