Java日期工具类

Java计时新姿势StopWatch 文章目录一、背景二、spring 用法2.1 初遇2.2 源码2.3 注意事项三、apache 用法四、最后 利用StopWatch监控Java代码运行时间和分析性能 一、背景   有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,一般我们检测某段代码执行的时间,都是以如下方式来进行的: public static void main(String[] args) { Long startTime = System.curre. 阅读详情
package org.jeecg.modules.inHospital.tempCheckFile;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @Description
 * @Author zhang_s
 * @Create 2024/6/25 15:04
 */
public class DtUtil {
    /**
     * 获取当前时间的时间戳
     */
    public static int getCurrentTimeIntValue() {
        return (int) (System.currentTimeMillis() / 1000);
    }


    /**
     * 获取days天后的当前时间 时间戳
     */
    public static int addDaysTimeStamp(int days) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date());
        cal.add(Calendar.DATE, days);
        return (int) (cal.getTimeInMillis() / 1000);
    }

    /**
     * 获取今日零点的时间戳
     */
    public static int getStartTimeStamp() {
        Calendar todayStart = Calendar.getInstance();
        todayStart.set(Calendar.HOUR_OF_DAY, 0);
        todayStart.set(Calendar.MINUTE, 0);
        todayStart.set(Calendar.SECOND, 0);
        todayStart.set(Calendar.MILLISECOND, 0);
        long time = todayStart.getTimeInMillis() / 1000;
        return (int) time;
    }

    /**
     * 获取今日23:59:59的时间戳
     */
    public static int getEndTimeStamp() {
        Calendar todayEnd = Calendar.getInstance();
        todayEnd.set(Calendar.HOUR_OF_DAY, 23);
        todayEnd.set(Calendar.MINUTE, 59);
        todayEnd.set(Calendar.SECOND, 59);
        todayEnd.set(Calendar.MILLISECOND, 999);
        long time = todayEnd.getTimeInMillis() / 1000;
        return (int) time;
    }

    /**
     * 获取指定时间零点的时间戳
     */
    public static String getStartTimeStamp(Date date) {
        SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar todayStart = Calendar.getInstance();
        todayStart.setTime(date);
        todayStart.set(Calendar.HOUR_OF_DAY, 0);
        todayStart.set(Calendar.MINUTE, 0);
        todayStart.set(Calendar.SECOND, 0);
        todayStart.set(Calendar.MILLISECOND, 0);

        String yesterday = sdfYMD.format(todayStart.getTime());
        return yesterday;
    }

    /**
     * 获取指定时间23:59:59的时间戳
     */
    public static String getEndTimeStamp(Date date) {
        SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar todayEnd = Calendar.getInstance();
        todayEnd.setTime(date);
        todayEnd.set(Calendar.HOUR_OF_DAY, 23);
        todayEnd.set(Calendar.MINUTE, 59);
        todayEnd.set(Calendar.SECOND, 59);
        todayEnd.set(Calendar.MILLISECOND, 999);
        String yesterday = sdfYMD.format(todayEnd.getTime());
        return yesterday;
    }

    /**
     * 获取昨天零点的时间(字符串)
     */
    public static String getYesterDayStartTimeStamp() {
        SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.SECOND, 0); //这是将【秒】设置为0
        calendar.set(Calendar.MINUTE, 0); //这是将【分】设置为0
        calendar.set(Calendar.HOUR_OF_DAY, 0); //这是将【时】设置为0
        calendar.add(Calendar.DATE, -1); //当前日期加一
        String yesterday = sdfYMD.format(calendar.getTime()); //获取昨天的时间 如2021-02-25 00:00:00
        return yesterday;
    }

    /**
     * 获取昨天零点的时间戳
     */
    public static Integer getBeforeStartTime() {
        Calendar todayStart = Calendar.getInstance();
        todayStart.set(Calendar.HOUR_OF_DAY, 0);
        todayStart.set(Calendar.MINUTE, 0);
        todayStart.set(Calendar.SECOND, 0);
        todayStart.set(Calendar.MILLISECOND, 0);
        long time = todayStart.getTimeInMillis() / 1000;
        return (int) time - 86400;
    }

    /**
     * 获取昨天23:59:59的时间(字符串)
     */
    public static String getYesterDayEndTimeStamp() {
        SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.SECOND, 59); //这是将当天的【秒】设置为0
        calendar.set(Calendar.MINUTE, 59); //这是将当天的【分】设置为0
        calendar.set(Calendar.HOUR_OF_DAY, 23); //这是将当天的【时】设置为0
        calendar.add(Calendar.DATE, -1); //当前日期加一
        String yesterday = sdfYMD.format(calendar.getTime()); //获取第二天的时间 2021-02-25 00:00:00
        return yesterday;
    }


    /**
     * 获取明天零点的时间戳
     */
    public static Integer getAfterStartime() {
        Calendar todayStart = Calendar.getInstance();
        todayStart.set(Calendar.HOUR_OF_DAY, 0);
        todayStart.set(Calendar.MINUTE, 0);
        todayStart.set(Calendar.SECOND, 0);
        todayStart.set(Calendar.MILLISECOND, 0);
        long time = todayStart.getTimeInMillis() / 1000;
        return (int) time + 86400;
    }

    /**
     * 将昨天凌晨时间转换为Date类型(下面设置成这样 new simpleDateFormat("yyyy-MM-dd HH:mm:ss") 数据中对应的字段类型就是DateTime)   * 这个方法中调用了上面的getYesterDayStartTimeStamp()方法哦
     */
    public static Date getDateTime() {
        Date dateTime = null;
        String yesterDayStartTimeStamp = DtUtil.getYesterDayStartTimeStamp();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            dateTime = formatter.parse(yesterDayStartTimeStamp);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //Sun May 09 00:00:00 CST 2021
        return dateTime;
    }

    public static void main(String[] args) {
        System.out.println(DtUtil.getStartTimeStamp(new Date()));
        System.out.println(DtUtil.getEndTimeStamp(new Date()));
    }
}


Java日期工具类编写 Java日期工具类编写 将字符串转换为对应日期 Datedate=simpleDateFormat.parse(string); 将日期转换为字符串 Stringstring=simpleDateFormat.format(date); 注意,因为可能定义的格式和实际字符串提供的格式不符合,所以会抛出异常。 将年月日的汉字日期转为 - - 分隔符的日期 pu... 阅读详情

相关推荐

python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

一、我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document from docx.oxml.ns import qn from docx.shared import Pt def add_Head(document, level, text, font, size): # document word对象 # level 几级标题 # text 标题内容 # f

qq_40272386的博客 8856

使用 System.currentTimeMillis() 代替 new Date().getTime() 获取时间戳

平常我们想要获取一个时间戳,一般是这样写的: new Date().getTime() / 1000 现在大家不妨可以改成这样: System.currentTimeMillis() / 1000 PS:/ 1000 的原因是因为 new Date().getTime() 和 System.currentTimeMillis() 返回的是一个13位数字,单位是毫秒。除1000能让单位变为秒。 根据平常使用习惯,使用new Date()来获取当前时间,可以获取与当前时间有关的各方面信息,例如获取小时,分钟

写代码写久了才发现:人生和程序一样,经常 Bug 多、需求乱,重构难,但总能跑起来。这个博客记录我从迷茫到搞懂、从踩坑到归纳、从混乱到清晰的过程。写给过去迷茫的自己,也写给同样在路上折腾的你。没有炫技,没有玄学,只有真实的思考、实践和成长。 2414

CCS配置MSPM0G3507(七) 编码器(TIMER-QEI)

1.选择时钟源 BUSCLK2.时钟分频配置为1分频3.分频系数配置为14.若勾选 Start ,则生成程序后会自动开启定时器的计数,否则需手动在程序中开启5.Load Value 设置为65535。

kaneki_lh的博客 1万+

Java获取EL表达式中System.currentTimeMillis() / 1000的值

Long l=Long.valueOf(o);  Date date=new Date(l*1000); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %>

smile7 5740

Cadence Sigrity PowerDC实战:如何用PCB电热混合仿真解决散热难题(附详细配置步骤)

本文详细介绍了如何利用Cadence Sigrity PowerDC进行PCB电热混合仿真,以解决高功率密度设计中的散热难题。文章通过解析电热耦合原理,并附上详细的配置步骤与实战技巧,指导硬件工程师同步优化电气性能与热管理,从而在设计源头提升产品可靠性与效率。

weixin_29292535的博客 197

Orbbec-Gemini-335 深度相机 Python SDK 编译与配置全记录(Windows 环境)

本篇博客将围绕 Windows 系统下 Orbbec SDK 的 Python 配置与编译过程进行详细说明,主要使用的是官方提供的 pyorbbecsdk Python wrapper 项目以及 Orbbec SDK V2 Python Wrapper 配置指南,并记录了安装与配置过程中遇到的若干问题及解决办法。

Junseer的博客 1965

关于时间的转换

一、时间戳转换 因为在工作中遇到了关于时间转换的问题,期间搜了很多度娘博客之类,总结出部分转换,如有补充,后续更改。 1、时间戳(毫秒) System.currentTimeMillis() 2、时间戳(转秒) System.currentTimeMillis() / 1000 3、时间戳(转分钟) System.currentTimeMillis() / 1000 / 60 4、时间戳(转小时) System.currentTimeMillis() / 1000 / (60 * 60) 5、时间戳(转天)

左小林的博客 2035

【MUJOCO控制篇-2】控制一个简单的机械臂

本篇博客将逐步分析和解释如何通过Python代码使用MuJoCo库来控制一个机械臂模型。我们将从加载模型开始,逐步深入到PID控制器的实现,最后讨论如何实现轨迹跟踪功能。上期内容为如何建模一个简单的机械臂模型,本篇文章将基于上篇内容进行深入探讨如何实现一个简单的控制。

echo_Fangyb的博客 6748

Java中时间方法大全01(持续更新)

下面这些方法都可以封装到一个工具类中   /** * 获取当前时间的时间戳 */ public static int getCurrentTimeIntValue() { return (int) (System.currentTimeMillis() / 1000); } /** * 获取days天后的当前时间 时间戳...

大家好,我是云村的王子 691

使用C# HslCommunication库实现三菱PLC通信(含完整代码示例)

在工业自动化开发中,上位机与PLC的通信是关键环节。HslCommunication库是一个开源的.NET工业通信库,支持三菱、西门子、欧姆龙等多个品牌PLC的通信协议。本文将演示如何通过库实现C#程序与三菱PLC的通信,并提供完整的代码示例。

StevenChen的博客 2290

<PLC><socket><汇川>汇川PLC使用socket与其他控制器(如上位机)通讯模板程序示例

以上介绍了汇川PLC通用socket通讯的示例,事实上,汇川的官方手册也有使用示例,可以直接仿照使用,也可以加以修改。

用沸腾的热血,支付我们的人生吧! 3248

java日期工具类

package util; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 日期工具类 * @author gjh * */ public class DateUtil { /** * 获取当前日期 */ public

qq_23906265的专栏 332

图神经网络实战(25)——基于A3T-GCN预测交通流量

本节重点讨论了使用 TGNN 进行交通预测任务。首先,我们介绍了 PeMS-M 数据集,并将其从表格数据转换为具有时间信号的静态图数据集。在实践中,我们根据输入距离矩阵创建了加权邻接矩阵,并将交通速度转换为时间序列。最后,我们构建了 A3T-GCN 模型,这是一个专为交通预测设计的 T-GNN 模型,并将结果与两个基线模型进行了比较,验证了模型的预测结果。

盼小辉丶的博客 8591

JAVA日期工具类

JAVA日期工具类 public class DateUtil { private static final ThreadLocal<SimpleDateFormat> threadLocal = new ThreadLocal<SimpleDateFormat>(); private static final Object object = new Object(); /** * 得到当前时间 * 固定日

头发都掉光了的博客 162

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java日期工具类收藏

在项目中经常会用到日期的工具类,如下使用commons.lang3包的相关处理方法封装。 import org.apache.commons.lang3.time.DateFormatUtils; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java...

huangbaokang的博客 304

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java中简单日期工具类DateUtils的实现

最近工作时经常处理日期,想起以前sql server中datediff,dateadd 等方法非常好用,于是想在java中实现类以的功能,而且提高精度,所以初步有了以下代码: package com.test.utils; import java.text.ParseException; i...

chouyuanoz874292的博客 253

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Java 功能篇之日期工具类封装

import org.apache.commons.lang3.time.DateFormatUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /** * 日期工具类, * 继承org.apache.commons.lang.time.DateUt.

zhouzhiwengang的专栏 413

【知识分享】Java日期工具类

Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java日期工具类Java

各类程序设计成品、文档、学习资料 141

基于java8的一个超全、超实用日期工具类

基于java8的一个日期工具类,基本可以满足日常需求。 主要包括以下日期应用: 1.获取各种类型日期 2.日期、字符串之间的转换 3.日期切割 下面直接上代码: ​ /** * Java8日期时间工具类 * * @author JourWon * @date 2020/12/13 */ public class LocalDateUtils { /** * 显示年月日时分秒,例如 2015-08-11 09:51:53. */ public s.

yl101326的博客 298

java 日期工具类DateUtils

  日期工具类DateUtils CreateTime--2017年5月27日08:48:00Author:Marydon   DateUtils.java-对日期类的进一步封装 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impo...

weixin_33866037的博客 659

java 日期工具类

java日期工具类,包含季度,月份等操作public class DateUtils { /** * 得到某年某周的第一天 * * @param year * @param week * @return */ public static Date getFirstDayOfWeek(int year, int week) {

偶是一只小小鸟~ 315

Java日期工具类DateUtil详解:简化日期操作的利器

**文章摘要:** 本文介绍了一个功能强大的Java日期工具类`DateUtil`,它封装了常见的日期操作,包括日期格式化、解析、加减、比较等。通过使用`DateUtil`,开发者可以轻松处理各种日期相关的需求,避免重复编写日期处理代码,提高开发效率。文章详细讲解了`DateUtil`的核心方法,如日期格式化、解析、加减操作、日期比较等,并提供了丰富的代码示例。此外,`DateUtil`还提供了获取特定日期(如昨天、明天、上个月、下周等)以及当前周起始和结束日期的功能。通过引入`DateUtil`,开发者

qq_42763903的博客 1607

java日期工具类DateUtil-续二

该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍、近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些计算缺陷,后来才终于找到“寿天星文历”:一个十分精准的万年历。虽然它的功能十分强大,但相对的涉及到的计算也很多,逻辑和思路都相当的复杂了,维护成本很大,有时候项目中并不一定要用到这么强大的农历,因此该

鹏霄万里展雄飞 9056
上一篇: 隐藏黑窗口
下一篇: Java 正则
和月明
博客等级 码龄6年 214粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值