java日期常用操作

java 复制代码
 @Test
    public void validateDateUtils(){
        // 1 字符串转换日期
        Date result = DateUtil.parse("2023-08-01", com.alibaba.excel.util.DateUtils.DATE_FORMAT_10);
        log.info("result : [{}]" , result);

        // 2 日期转换字符串
        final Date date = new Date();
        String formatStr = DateFormatUtils.format(date, com.alibaba.excel.util.DateUtils.DATE_FORMAT_19);
        log.info("formatStr : [{}]" , formatStr);

        // 3 获取当前时间,格式为yyyy-MM-dd,yyyy-MM-dd HH:mm:ss,yyyyMMddHHmmss
        final String formatYMR = DateFormatUtils.format(date, com.alibaba.excel.util.DateUtils.DATE_FORMAT_10);
        log.info("formatYMR : [{}]" , formatYMR);
        final String formatYMRSFM = DateFormatUtils.format(date, com.alibaba.excel.util.DateUtils.DATE_FORMAT_19);
        log.info("formatYMRSFM : [{}]" , formatYMRSFM);
        final String formatYMRSFMS = DateFormatUtils.format(date, com.alibaba.excel.util.DateUtils.DATE_FORMAT_14);
        log.info("formatYMRSFMS : [{}]" , formatYMRSFMS);

        // 4 日期相减
        final long resultTime = result.getTime();
        final long dateTIme = date.getTime();
        final long diffInDays = (dateTIme - resultTime) / (1000 * 60 * 60 * 24);
        log.info("diffInDays : [{}]" , diffInDays);

        // 5 日期加减操作
        final int compareDays = cn.hutool.core.date.DateUtil.compare(date, result);
        log.info("compareDays : [{}]" , compareDays);
        final Date addDate = DateUtils.addDays(new Date(), 1);
        log.info("addDate : [{}]" , addDate);

        // 6 日期转换时间戳
        final long current = cn.hutool.core.date.DateUtil.current();
        final long currentTimeMillis = System.currentTimeMillis();
        log.info("currentTimeMillis : [{}]" , currentTimeMillis);
        log.info("current : [{}]" , current);
        // 7 util.date转换sql.date
        Timestamp timestamp = new Timestamp(currentTimeMillis);
        log.info("timestamp : [{}]" , timestamp);

    }

22:49:41.918 main INFO com.geekmice.springbootselfexercise.NoDaoTest - result : Tue Aug 01 00:00:00 CST 2023

22:49:42.102 main INFO com.geekmice.springbootselfexercise.NoDaoTest - formatStr : 2023-08-09 22:49:41

22:49:42.103 main INFO com.geekmice.springbootselfexercise.NoDaoTest - formatYMR : 2023-08-09

22:49:42.103 main INFO com.geekmice.springbootselfexercise.NoDaoTest - formatYMRSFM : 2023-08-09 22:49:41

22:49:42.106 main INFO com.geekmice.springbootselfexercise.NoDaoTest - formatYMRSFMS : 20230809224941

22:49:42.106 main INFO com.geekmice.springbootselfexercise.NoDaoTest - diffInDays : 8

22:49:42.121 main INFO com.geekmice.springbootselfexercise.NoDaoTest - compareDays : 1

22:49:42.121 main INFO com.geekmice.springbootselfexercise.NoDaoTest - addDate : Thu Aug 10 22:49:42 CST 2023

22:49:42.122 main INFO com.geekmice.springbootselfexercise.NoDaoTest - currentTimeMillis : 1691592582122

22:49:42.122 main INFO com.geekmice.springbootselfexercise.NoDaoTest - current : 1691592582122

22:49:42.123 main INFO com.geekmice.springbootselfexercise.NoDaoTest - timestamp : 2023-08-09 22:49:42.122

相关推荐
y1su1 分钟前
Leetcode 链表,树,回溯 模板
java·leetcode·链表
心中有你02145 分钟前
C 语言文件操作详解:从写入、追加到读取与定位的完整 实战
c语言·开发语言
qianyuqiye16 分钟前
K8s 命名空间与 Pod 入门:从概念到实战
java·docker·kubernetes
yunwei3713 分钟前
eBPF 实例教程:跟踪 Intel NPU 内核驱动操作
linux·后端·性能优化
牧瀬クリスだ14 分钟前
观察者模式:一个对象变化,一群对象自动响应
java·观察者模式·设计模式
小张成长计划..17 分钟前
【Linux】26:线程互斥和同步
java·开发语言
邪修king3 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
2301_777998343 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
拆房老料3 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
张张123y4 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆