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

Date/Calendar/DateFormat/LocalDate

作用说明

Date用于定义时间,提供date对象间的比较方法

Calendar(日历类),提供对时间的运算方法

DateFormat是接口,它的实现类SimpleDateFormat用来规范时间输出形式

LocalDate,在JDK1.8之后引入,方便了对时间的运算

方法介绍

Date常用方法

compareTo 比较目标值与源值的大小,目标值比源值大则返回负数,否则返回正数,用于判断

before比较目标值是否在源值之前

equals比较两时间是否相同

gettime()获取系统时间

转换方法

String转Date用DateFormat对象的parse(String str)方法

Date转Calendar用Calendar对象的setTime(Date date)方法

Calendar转Date用Calendar对象的getTime()方法

Date转String用DateFormat对象的format(Date date)方法

 public static void main(String[] args) throws ParseException {String str = "2025-08-13 16:40:30 999";DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//String转Date按照给定的格式转Date date = dateFormat.parse(str);Calendar calendar = Calendar.getInstance();//Date转calendarcalendar.setTime(date);//用calendar进行运算,天数减1calendar.add(Calendar.DATE, -1);//calendar转DateDate time = calendar.getTime();//Date转StringString newTime = dateFormat.format(time);System.out.println(newTime);}

特殊的构造Calendar

        Calendar calendar = Calendar.getInstance();//给calendar赋值用setTimecalendar.setTime(date);

用Calendar运算时间

用Calendar对象的add方法,第一个参数获时间,第二个参数在第一个参数上运算

   public static void main(String[] args) throws ParseException {String str = "2025-08-13 16:40:30 999";DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//String转DateDate date = dateFormat.parse(str);Calendar calendar = Calendar.getInstance();//Date转calendarcalendar.setTime(date);//用calendar进行运算,天数减1
//        calendar.add(Calendar.DATE, -1);//2025-08-12 16:40:30 999calendar.set(Calendar.MONTH,12);//2026-01-13 16:40:30 999//calendar转DateDate time = calendar.getTime();//Date转StringString newTime = dateFormat.format(time);System.out.println(newTime);}

SimpleDateFormat的格式要求

LocalDate/LocalDateTime

可以很快获取每一部分的时间,并很容易进行运算

    public static void main(String[] args) {//现在时间 2025-8-13 23:07:06.619358300LocalDate date = LocalDate.now();//不可变和String一样System.out.println(date);LocalDateTime date2 =LocalDateTime.now();System.out.println(date2);System.out.println(date.getMonthValue());//8System.out.println(date.minusDays(30));//-30天 2025-07-14System.out.println(date.plusDays(30));//+30天 2025-09-12}

http://www.lryc.cn/news/620181.html

相关文章:

  • Linux中备份的练习
  • element-ui 时间线(timeLine)内容分成左右两侧
  • 数据分析小白训练营:基于python编程语言的Numpy库介绍(第三方库)(下篇)
  • 车载软件架构 --- MCU刷写擦除相关疑问?
  • 《红黑树驱动的Map/Set实现:C++高效关联容器全解析》
  • 具有熔断能力和活性探测的服务负载均衡解决方案
  • Linux编程 IO(标准io,文件io,目录io)
  • 机器学习⑤【线性回归(Linear Regression】
  • springboot接口请求参数校验
  • web开发,在线%射击比赛管理%系统开发demo,基于html,css,jquery,python,django,三层mysql数据库
  • 锂电池自动化生产线:智能制造重塑能源产业格局
  • 【完整源码+数据集+部署教程】医学报告图像分割系统源码和数据集:改进yolo11-HGNetV2
  • 深度学习与遥感入门(七)|CNN vs CNN+形态学属性(MP):特征工程到底值不值?
  • 【工具】雀语queyu文件批量下载 文档内容复刻导出
  • Socket 套接字的学习--UDP
  • wps--设置
  • 大模型推理框架vLLM 中的Prompt缓存实现原理
  • GaussDB 权限管理的系统性技术解析与实践指南
  • Windows 系统 上尝试直接运行 .sh(Shell 脚本)文件
  • OpenFeign 服务调用原理与源码分析
  • Endnote 20超详细入门教程(实现参考论文的插入)
  • 类和对象(中下)
  • ARM芯片架构之CoreSight Channel Interface 介绍
  • 机器学习-Cluster
  • 机器学习——svm支持向量机
  • mac下载maven并配置,以及idea配置
  • O2OA:数字化转型中安全与效率的平衡之道
  • 深入理解 uni-app 的 uni.createSelectorQuery()
  • 云电竞游戏盒子技术分析
  • BAW56LT1G ON安森美 双串联开关二极管 电子元器件