日期转换与时间获取,日期注解

1hutool源码分析:DateUtil(时间工具类)-当前时间和当前时间戳_hutool 日期转10位时间戳 其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。Kafka入门为什么选择KafkaKafka的安装、管理和配置。 阅读详情
  • 个人开发中常用日期转换以及方法、注解汇总

- hutool工具

  • 依赖:
 <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.0</version>
        </dependency>
  • 常用时间获取
//当前时间
        System.out.println("hutool 当前时间:"+DateUtil.now());
        //今天开始时间
        System.out.println("hutool 今天开始时间"+DateUtil.beginOfDay(new Date()));
        //今天结束时间
        System.out.println("hutool 今天结束时间"+DateUtil.endOfDay(new Date()));
        //昨天开始时间
        System.out.println("hutool 昨天开始时间"+DateUtil.beginOfDay(DateUtil.yesterday()).toJdkDate());
        //昨天结束时间
        System.out.println("hutool 昨天开始时间"+ DateUtil.endOfDay(DateUtil.yesterday()).toJdkDate());
        //本周开始时间
        System.out.println("hutool 本周开始时间"+DateUtil.beginOfWeek(new Date()));
        //本周结束时间
        System.out.println("hutool 本周结束时间"+DateUtil.endOfWeek(new Date()));
        // 昨天开始到结束 之间的分钟数
        long between = DateUtil.between(DateUtil.beginOfDay(DateUtil.yesterday()).toJdkDate(), DateUtil.endOfDay(DateUtil.yesterday()).toJdkDate(), DateUnit.MINUTE);
        System.out.println("昨天开始到结束 之间的分钟数"+between);
  • 运行结果:

在这里插入图片描述

String,Date,DateTime互转

        String date = "2023-05-12 17:36:00";
        //String 转Date
        Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
        //String 转dateTime
        DateTime dateTime = DateTime.of(date1);


        Date date2 = new Date();
        //Date 转 String
        String fmdate2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date2);
        //Date转DateTime
        DateTime dateTime1 = new DateTime(date2.getTime());

        DateTime date3 = new DateTime();
        //DateTime转Date
        Date date4 = date3.toJdkDate();
        //DateTime转String
        String dateTimefm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date3);

运行结果:
在这里插入图片描述

数据库: Mysql ,date与DateTime区别

  • 数据库日期类型 : 不能为空,想存空值可以用字符串类型
  • 如果时间需要 精确到 时分秒,可以选择Datetime
  • 区别:
  • Date类型Date类型

Date类型显示

  • dateTime类型
    -dateTime类型

dateTime类型

注解-转载

  • 依赖
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.6</version>
</dependency>
  • 注解@JsonFormat主要是后台到前台的时间格式的转换
  • 注解@DataFormAT主要是前台到后台的时间格式的转换
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")

mybatis查询Oracle数据库中Date类型自动转化为时间戳

@JSONField(format ="yyyy-MM-dd HH:mm:ss")
private Date gmtModified;
  • 存储在MYSQL中的数据是dateTime类型,将数据获取以后封装到实体类中的时候,就会变成英文的时间格式(Wed Jul 27 02:26:43 CST 2022),而不是yyyy-MM-dd HH:mm:ss格式的时间(2022-07-27 02:26:43),@JsonFormat注解就可以解决这个问题。
  • @DateTimeFormat 直接接收指定的时间格式,既灵活又方便。

时间类常用方法

  • date的before ,after判断早于或晚
        String date = "2023-05-12 17:36:00";
        String datefm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        //String 转Date
        Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
        boolean before = date1.before(new Date());
        boolean after = date1.after(new Date());
        System.out.println("====================");
        System.out.println("当前时间:"+datefm);
        System.out.println("date日期早于当前时间:" + before);
        System.out.println("date日期晚于当前时间:" + after);
  • 运行结果:
    在这里插入图片描述
  • 判断两个日期间隔
        String date = "2023-05-12 17:36:00";
        //String 转Date
        Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);

        long SecondBetween = DateUtil.between(date1,new Date(), DateUnit.SECOND);
        long MinuteBetween = DateUtil.between(date1,new Date(), DateUnit.MINUTE);
        long HourBetween = DateUtil.between(date1,new Date(), DateUnit.HOUR);
        long DayBetween = DateUtil.between(date1,new Date(), DateUnit.DAY);
        long WeekBetween = DateUtil.between(date1,new Date(), DateUnit.WEEK);

        System.out.println("两个时间间隔 秒 :" + SecondBetween);
        System.out.println("两个时间间隔 分 :" + MinuteBetween);
        System.out.println("两个时间间隔 时 :" + HourBetween);
        System.out.println("两个时间间隔 天 :" + DayBetween);
        System.out.println("两个时间间隔 周 :" + WeekBetween);
  • 运行结果:
    时间间隔运行结果
  • 获取今天的某个开始的小时(把 day修改就可以获取任意时刻):
 /**
     * 获取当天 某个 小时
     */
    public static Date getSomeHour(Integer hour,Integer minue,Integer second){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.HOUR_OF_DAY, hour);
        calendar.set(Calendar.MINUTE, minue);
        calendar.set(Calendar.SECOND, second);
        calendar.set(Calendar.MILLISECOND, 999);
        return calendar.getTime();
    }

    public static void main(String[] args) {
       Date someHour = DateUtils.getSomeHour(15, 0, 0);
        System.out.println("==================");
        String datefm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(someHour);
        System.out.println("获取今天的 15点 :" + datefm);
    }

运行结果:
在这里插入图片描述

  • 获取某个时间是星期几
	   DateTime startTime = DateUtil.parse("2023-05-21 15:00:00","yyyy-MM-dd HH:mm:ss");
        int week = DateUtil.dayOfWeek(startTime);
        String[] weekStr={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        String holiday = weekStr[week - 1];
        log.info("当前日期:"+holiday);
  • 运行结果
    在这里插入图片描述
  • 分享完毕
hutool工具-----JSON工具-JSONUtil JSONUtil 介绍 JSONUtil是针对JSONObject和JSONArray的静态快捷方法集合,在之前的章节我们已经介绍了一些工具方法,在本章节我们将做一些补充。 使用 1、JSON字符串创建 JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串。 如果对象是有序的Map等对象,则转换后的JSON字符串也是有序的。 /** * 转换为JSON字符串 * <p> * 被转为JSON的对象 * 阅读详情

相关推荐

Springboot 自定义注解AOP实现时间参数格式转换

前言 场景: 前端传过来的时间参数,我们后端自定义时间格式转化使用,想转成什么就转成什么。 不同业务场景,跟前端对接,一种控件基本时间参数是固定格式的,为了避免前端去转换时间参数的格式,跟前端约定好,让他们固定传递一种格式,后端自己看需求转换格式使用即可。 效果: ① 从 yyyy-MM-dd HH:mm:ss 转换成 yyyy-MM-dd 使用: ② 从 yyyyMMddHHmmss 转换成 yyyy-MM-dd HH:mm:ss 使用: ③不再举例,其实就是自己想怎么转

默默不代表沉默 5099

Hutool.DateUtil时间工具方法解析

Hutool.DateUtil工具方法解析

snowing1997的博客 1万+

MediaCreationToolW11:Windows11系统升级与修复利器

在日常使用Windows11系统的过程中,我们可能会遇到一些棘手的问题,比如系统更新时出现异常导致无法成功更新,或者系统本身出现异常需要进行无损修复。此外,当我们的电脑尚未升级到Windows11,而我们又希望进行升级时,一款高效且可靠的工具就显得尤为重要。接下来,MediaCreationToolW11将开始下载Windows11的安装文件,并创建Windows11介质。在“选择你要执行的操作”界面中,选择“ISO文件”。此时,你可以使用你的账户登录系统,并开始使用全新的Windows11系统了。

nntxthml的博客 2403

1hutool实战:DateUtil(时间工具类)-当前时间

1hutool实战:DateUtil(时间工具类)-当前时间,当前时间戳获取的多种方式 关键字:java java JAVA hutool hutool Hutool 工具类 工具类 工具类 DateUtil DateUtil DateUtil

小虚竹的专栏 3万+

2026中银杯区块链赛项备赛全攻略:从任务书拆解到高分技巧

区块链技术正从概念走向工程化落地,其核心价值在于通过分布式账本、智能合约与共识机制,构建可信、透明、可追溯的业务协作网络。在供应链溯源、存证、资产流转等场景中,区块链应用已从单一技术验证转向完整业务系统交付,这对开发者的综合能力提出了更高要求。对于职业院校技能大赛而言,选手不仅需要掌握联盟链底层搭建、Solidity合约开发、前后端应用联调等技术,还需具备规范交付与团队协作的工程素养。围绕2026年中银杯湖北省职业院校技能大赛区块链技术应用赛项,本文深入拆解任务书模块与评分逻辑,梳理底层链搭建、智能合约开发

weixin_27960253的博客 333

【SOC 芯片设计 DFT 学习专栏 -- DFT DRC规则检查】

在现代半导体设计中,DFT(Design for Test)技术的重要性不言而喻。它确保了芯片在制造完成后能够进行高效和可靠的测试。DFT设计规则检查(DRC)作为DFT流程中的一个关键环节,通过一系列自动化工具检测设计中的潜在问题,从而保证设计的可测试性和整体质量。在本文中,我们将详细探讨DFT DRC的概念、重要性、检查流程以及具体的规则和应用。Tessent是业界领先的DFT解决方案之一,其DRC工具通过一系列自动化检查,确保设计符合DFT要求。

CodingCos的博客 4166

java获取30天后时间-时间格式注解-时间格式转换

注解 @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date date; @JsonFormat:获取数据库时间格式化一下,因为数据库时区与标准时区相差八小时 所以GMT+8 后面即是时间格式如:yyyy-MM-dd @DateTimeFormat:Date类型想要限定请求传入时间格式时,可以通过@DateTimeFormat来指定,但请求传入参数与指

ycg的博客 5518

西门子200SMART自定义库开发实战:从PID到露点算法的工业应用

本文详细介绍了西门子200SMART自定义库开发实战,涵盖从PID控制到露点算法的工业应用。通过代码封装技巧、多语言支持和性能优化等高级开发方法,帮助工程师提升PLC编程效率。文章特别强调了自创库在实际项目中的优势,如恒温恒湿控制系统的成功案例,展示了自定义库在工业自动化中的强大应用价值。

lake5的博客 1022

java 时间戳 格式转换_java实现时间戳转化为YYYY-MM-DD hh:mm:ss

public class DateUtils {//获取当前系统时间2020-07-21 20:55:352 Date date=new Timestamp(System.currentTimeMillis());/*** 获取时间戳* 输出结果:1438692801766*/@Testpublic void getTimeStamp() {Date date = new Date();long...

weixin_31205191的博客 3万+

C# 死锁:原理、诊断与解决方案深度解析

本文深入探讨了C#中的死锁问题,详细介绍了死锁的基本概念、形成机制、常见场景、诊断方法及解决方案。死锁通常发生在多线程环境下,当多个线程因争夺资源而互相等待时,导致程序无法继续执行。文章通过代码示例展示了常见的死锁场景,如锁的嵌套、同步上下文死锁和线程池死锁,并提供了使用Visual Studio、WinDbg等工具进行死锁诊断的方法。此外,文章还提出了多种预防和解决死锁的策略,包括保持锁顺序一致性、使用锁超时机制、避免同步阻塞异步代码以及使用更高级的同步原语。通过这些方法,开发者可以有效减少死锁的发生,提

记录学习的过程 1407

实战分享:如何用Dify和MaxKb实现文档智能切分与高效检索(附代码解析)

本文详细介绍了如何结合Dify和MaxKB构建文档智能切分与高效检索系统。针对传统全文检索的不足,提出了结构感知的文档切分方案,通过解析文档层级关系并构建标题链,实现了精准的章节级检索。文章包含完整的代码实现,涵盖文档解析、智能切分、向量化策略及双索引优化,并分享了性能调优和生产环境实践经验。

qsc90123456的博客 543

时间注解

1、DateTimeFormat:入参格式化   用法:用在类型为Date的字段上,用来接收String类型的字符串,将其转成Date类型   import org.springframework.format.annotation.DateTimeFormat;   @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")   pattern值表...

docuxu的博客 1638

2025小红书跳转卡片实战指南:从零搭建独立后台与自动化发卡系统

本文提供了一份2025年小红书跳转卡片的实战搭建指南,详细解析了独立后台系统的核心架构与自动化发卡流程。文章从零开始,手把手教你使用Node.js、Vue.js等技术栈构建包含后台管理、用户制卡中心与前端交互的完整系统,旨在帮助运营者实现合规引流,并掌握数据自主权与自动化运营能力。

weixin_29234423的博客 516

java获取时间戳的几种方法与中国标准日期格式转换Thu Sep 07 2017 00:00:00 GMT+0800

目前获取毫秒值大概有下面四种方法 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new Date().getTime(); //方法四(适用于java8) Instant now = Instant.now(); System.out.println(now.getEpochSecond()); // 秒 System.out.println(no

永远热泪盈眶 坚持输出 3624

Python学习第1天:初识Python

Python 作为目前最流行的编程语言之一,凭借其简洁优雅的语法和强大的生态系统,成为了无数开发者的首选。本系列文章将带你从零基础入门,逐步掌握 Python 编程的核心技能。今天我们先来认识 Python,并安装好开发环境。Python(英式发音:/ˈpaɪθən/;美式发音:/ˈpaɪθɑːn/)是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户的编程语言。

tigerhhzz的博客 431

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

日期的工具类

1.日期工具类 import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections.CollectionUtils; import java.math.BigDecimal;import java.text.ParseException;import java.text.SimpleDateFormat;import j...

weixin_34015566的博客 148

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

mysql与日期时间相关的函数

mysql在项目中经常用到的日期相关的函数

m0_46365607的博客 231

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【Java】JAVA与JS中 日期相关处理

一、js获取当前年月日 var date = new Date(); date .getYear(); //获取当前年份(2位) date .getFullYear(); //获取完整的年份(4位) date .getMonth(); //获取当前月份(0-11,0代表1月) date .getDate(); ...

mateo的博客 757

Hibernate jpa 在实体类中对于时间的注解

在时间类型DATE 属性上添加一个 @Temporal(TemporalType.DATE)(精确到年月日)@Temporal(TemporalType.TIME)(精确到时分秒)@Temporal(TemporalType.TIMESTAMP)(默认年月日时分秒)示例: @Temporal(TemporalType.DATE) private Date startDate;数据库存储时为时间

qq314499182的博客 3233

java 日期格式处理笔记

时间格式操作 实体类中时间转换 @JsonFormat 作用 序列化时间 后端查出来的数据格式化后返给前端 参数 pattern:是你需要转换的时间日期的格式 timezone:是时间设置为东八区,避免时间在转换中有误差 GMT+8 上海时区 shape = JsonFormat.Shape.STRING, 序列化后的格式 例和导包 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")

m0_56814750的博客 1014

【Java】【问题记录】 解决通过new Date()方法获取时间与当前时间时区不一致问题

问题出现原因 项目部署到linux服务器,通过new Date()获取时间和在windows本地时间不一致,通过排查问题,发现是new Date()的问题 linux系统上通过new Date()获取的时间是世界时间(UTC时间)所以在获取时间时需要对时间进行时区的处理操作 方案一:springboot项目在主启动类中通过注解@PostConstruct解决 public static void main(String[] args) { SpringApplicati

liuxiaowei 1万+

解决JsonFormat日期少一天问题

使用Jackson的@JsonFormat注解时出现少一天 比如数据库存的日期是2015-01-05,转成json则变成了2015-01-14 解决办法: @JsonFormat(pattern="yyyy-MM-dd")  public Date getRegistDate() {   return this.registDate;  } 改成 @JsonFormat(patte

axe的专栏 2万+

@JsonFormat 日期格式自动格式化

通常日期格式都是以时间戳的形式存放在数据库里,当前端页面通过接口查询时,我们会将一个对象的某些属性查出来返回给页面。 例如,某个类里面有个属性 Timestamp create_time 给这个对象实体类中的get方法加注解:@JsonFormat 来实现格式的自动转换: 依赖的jar包:jackson-annotations-2.8.5.jar @JsonFormat(patte...

weixin_30608503的博客 701

java中对于时间的操作

java中对于时间的操作 Date类型的时间转换为Integer类型 Integer date = Integer.valueOf(String.valueOf(new Date().getTime()).substring(0, 10)); JS中时间的处理 var dateTime = new Date().getTime(); function add0(m){return m<10?'0'+m:m } function format(shijianchuo)

m0_46351037的博客 507

数据库日期类型dateTime,java用Date接收结果多一个.0

数据库如果日期用的是datetime数据类型的话,Java用string接受会多个零 效果对比 前: 后: 1.用此方式对日期进行格式化 : DATE_FORMAT(字段名称,'%Y-%m-%d %H:%m:%s') 别名 示例: SELECT DATE_FORMAT(bc.`time`,'%Y-%m-%d %H:%I:%s') time, bc.`coin_num...

我想起个名字的博客 1万+

前端显示从数据库查询时间时显示为一堆数字

前端显示从数据库查询时间时显示为一堆数字 解决方法: 在相对应的实体类的字段的get方法上加上一个注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") //防止从mybatis查询出现unix long时间eg:1503912320000,而不是时间格式。 public Timestamp getTim...

qq_43385074的博客 691
上一篇: Vue使用Element UI 的upload做Excel文件上传,后端拿到Excel做数据导入
下一篇: (转载)支付宝对账单URL解析,不保存文件
Grey_H_Xc
博客等级 码龄7年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值