public class TimeUtil {
public static final String YYYYMMDD = "yyyyMMdd";
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static final String YYYYMMDD_HHMMSS = "yyyyMMdd HHmmss";
public static Date now() {
Calendar calendar = Calendar.getInstance();
return calendar.getTime();
}
/**
* 当前时间n秒之前的时间
*
* @param seconds
* @return
*/
public static Date timeBeforeNow(int seconds) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.SECOND, -seconds);
return calendar.getTime();
}
/**
* 当前时间n秒之后的时间
*
* @param seconds
* @return
*/
public static Date timeAfterNow(int seconds) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.SECOND, seconds);
return calendar.getTime();
}
/**
* 获取n秒后的时间
*
* @param date
* @param seconds
* @return
*/
public static Date timeAfterSeconds(Date date, int seconds) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.SECOND, seconds);
return calendar.getTime();
}
/**
* 获取n天后的时间
*
* @param date
* @param days
* @return
*/
public static Date timeAfterDays(Date date, int days) {
return timeAfterSeconds(date, days * 24 * 3600);
}
/**
* 指定时间的凌晨0点0分0秒
*
* @param date 指定时间
* @return
*/
public static Date zeroTimeOfDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
return c.getTime();
}
/**
* 当天 00:00:00
*
* @return
*/
public static Date zeroTimeOfDay() {
return zeroTimeOfDay(new Date());
}
/**
* 得到本月的第一天
*
* @return
*/
public static Date getMonthFirstDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH,
calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
}
/**
* 得到本月的最后一天
*
* @return
*/
public static Date getMonthLastDay() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH,
calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
/**
* 当天23点59分59秒
*
* @param date
* @return
*/
public static Date endTimeOfDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
return c.getTime();
}
/**
* 当天0点0分0秒
*
* @param date
* @return
*/
public static Date zeroTimeOfHour(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
return c.getTime();
}
/**
* 对时间进行格式化 yyyy-MM-dd HH:mm:ss
*
* @param date
* @return
*/
public static String timeFormat(Date date) {
return timeFormat(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 当前时间 yyyy-MM-dd HH:mm:ss 格式的字符串
*
* @return
*/
public static String nowString() {
return timeFormat(now());
}
/**
* 对时间进行格式化:年月日 yyyyMMdd
*
* @param date
* @return
*/
public static String timeFormat_yyyyMMdd(Date date) {
return timeFormat(date, "yyyyMMdd");
}
/**
* 对时间进行格式化
*
* @param date
* @param format
* @return
*/
public static String timeFormat(Date date, String format) {
if (date == null) {
return "";
}
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(date);
}
/**
* 通过时间字符串获取Date
*
* @param timeStr 要求'yyyy-MM-dd HH:mm:ss'格式
* @return
*/
public static Date parse(String timeStr) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return dateFormat.parse(timeStr);
} catch (ParseException e) {
return null;
}
}
public static Date parseFormat(String timeStr, String format) {
DateFormat dateFormat = new SimpleDateFormat(format);
try {
return dateFormat.parse(timeStr);
} catch (ParseException e) {
return null;
}
}
/**
* 将字符串格式yyyyMMdd的字符串转为日期,格式"yyyy-MM-dd"
*
* @param date 日期字符串
* @return 返回格式化的日期
* @throws ParseException 分析时意外地出现了错误异常
*/
public static String strToDateFormat(String date) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
formatter.setLenient(false);
Date newDate = formatter.parse(date);
formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return formatter.format(newDate);
}
/**
* 计算两个日期之间相差的天数
*
* @param smdate 较小的时间
* @param bdate 较大的时间
* @return 相差天数
* @throws ParseException
*/
public static int daysBetween(Date smdate, Date bdate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
smdate = sdf.parse(sdf.format(smdate));
bdate = sdf.parse(sdf.format(bdate));
} catch (ParseException e) {
return 0;
}
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
return (int) between_days;
}
}
相关推荐
PFC中pb模型实战:从胶结参数设置到破坏模拟全流程解析
本文详细解析了PFC软件中平行胶结模型(PB模型)的实战应用全流程。从胶结参数(pb_kn, pb_ks, pb_ten等)的物理意义与精准赋值入手,深入探讨了模型构建、胶结施加以避免初始损伤的技巧,并系统介绍了破坏过程的监测、阈值判定方法以及高级可视化与常见问题诊断。旨在帮助岩土工程与颗粒材料研究者掌握从参数调试到破坏模拟的核心操作,提升数值模拟的准确性与效率。
各种时间处理的工具类(持续更新。。。)
目录 6.计算两个日期相差的天数 5.返回一个月的日期列表 1.获取两个时间段之间的所有时间 2.获取两个时间相差的月份数 3.传入一个时间,返回这个月的开始和结束时间 4.使用Calendar月份加1 6.计算两个日期相差的天数 /** * 传入两个日期,计算相差的天数 * * return int 相隔的天数, 如2018-01-01 - 2......
【React Native】源码分析之Native UI的封装和管理
转载请注明出处:http://blog.youkuaiyun.com/u013531824/article/details/54020287,谢谢。 ReactNative作为使用React开发Native应用的新框架,随着时间的增加,无论是社区还是个人对她的兴趣与日递增。此文目的是希望和大家一起欣赏一下ReactNative的部分源码。阅读源码好处多多,让攻城狮更溜的开发ReactNative应用的同时,也
Java工具类Date详解:时间处理的基石与现代替代方案
本文系统介绍了Java日期时间处理的演进过程。首先剖析了遗留的java.util.Date类,包括其基于时间戳的实现原理、设计缺陷(API混乱、可变性、时区问题等)以及基本用法(创建、格式化、与Calendar配合)。随后重点介绍了Java 8引入的全新java.time API,对比新旧API在线程安全、不可变性、设计清晰度等方面的差异,并详细说明了如何在两种API间进行转换。文章特别强调了SimpleDateFormat的线程安全问题及解决方案,为开发者提供了处理日期时间的完整知识框架和实践指南。
Python实战:5分钟搞定固定翼无人机三自由度仿真(附完整代码)
本文提供了一个基于Python的固定翼无人机三自由度仿真快速实现方案。通过面向对象设计,封装了核心运动学模型,并对比了欧拉法与龙格-库塔法两种积分方法。文章附有完整实例代码,帮助算法工程师和研究人员在5分钟内搭建轻量级仿真环境,用于快速验证控制律、路径规划等核心算法逻辑。
最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?
本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。
膜拜大牛!java开发面试简历
Java架构师成长笔记: 首先肯定是Java基础复习 SpringBoot快速上手 Web编程探索 SSM从入门到精通 1-3年高级工程师 微服务 并发编程进阶 深入Tomcat底层 JVM深度剖析 3-5年资深高级架构师 中间件&分布式 数据库 Spark 最后:学习总结——MyBtis知识脑图(纯手绘xmind文档) 学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后
单细胞拟时序分析实战:用monocle2从Seurat对象构建细胞轨迹(附完整代码)
本文提供了一套完整的单细胞拟时序分析实战教程,详细讲解了如何将Seurat对象转换为Monocle2的CellDataSet,并构建细胞命运轨迹。内容涵盖数据转换、轨迹定义基因选择、降维参数调优、可视化技巧及结果生物学验证,旨在帮助研究者解决实际分析中的常见问题,从静态细胞图谱中挖掘动态发育过程。
DateUtil-时间处理类
package com.shuidihuzhu.razor.client.utils.date; import com.shuidihuzhu.razor.client.utils.ValueWidget; import jodd.util.StringUtil; import org.apache.commons.lang3.time.DateUtils; import org.joda.time.DateTime; import java.text.ParseException; import ja
Office 365部分安装及同时安装Visio的方法
From MWeb Win版本的Office 365安装包默认安装所有组件,没有选择的页面,在安装Office 365后再安装下载的Visio 2016专业版时,会显示计算机上已经安装了即插即用Office,Visio不可安装,因此可以考虑使用Office部署工具来解决这两个问题。 下载安装Office365和Visio 下载Office部署工具 修改配置 部署工具使用方法...
MFC 中实现 WebSocket 客户端以支持实时双向通信
3. **协议兼容**:若服务器使用 `wss://`(加密),需在 `lws_client_connect_info` 中配置 SSL 相关参数(`ssl_connection = LCCSCF_USE_SSL`)。- 编辑框(`m_editUrl`):输入 WebSocket 服务器地址(如 `ws://echo.websocket.events`)。2. 将编译后的库文件(`.lib`、`.dll`)和头文件路径添加到 MFC 项目中(项目属性 -> VC++ 目录)。// UI:服务器地址。
TimeUtils 有关时间处理的工具类
介绍 一些关于时间处理的方法,在日常开发中时常用到,已经封装好,末尾有源码下载。 获取剩余天数 输入结束的时间,格式yyyy-MM-dd,得到剩余的天数,如当前时间是2017-08-08,输入结束的时间为2017-08-12,则得到的结果是4,即到达期限时间剩余4天。 /** * 得到剩余天数 * * @param endTime 结束时间 * @return */
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
java 时间处理工具类
1、java 时间处理工具类 package com.meizu.mdsp.common.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.regex.Matche...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
java关于时间处理的工具类
package sy.util.base; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class DateUtil { public static void main(String[] args) { String a="123,234";...
java 时间工具类 大于_非常强大的java时间处理工具类!
原标题:非常强大的java时间处理工具类!xk-time 是时间转换,时间计算,时间格式化,时间解析,日历,时间cron表达式和时间NLP等的工具,使用Java8,线程安全,简单易用,多达70几种常用日期格式化模板,支持Java8时间类和Date,轻量级,无第三方依赖。为什么要开发这个工具?(1)Java8以前的Date API设计不太好,使用不方便,往往会有线程安全问题。xk-time工具包,使...
Java 常用时间处理工具类
此时间工具类,划分主要分为按年、季度、月、星期、日等时间区间和按时间获取、转换、判断和计算等用途两个维度,有缘看到可各取所需。 知识无极限,与你来相见,欢迎点赞支持!
最全的java时间处理工具类
packagecom.momo.util;importjava.io.Serializable;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCa...
各种要求的时间处理的date工具类DateUtil
各种要求的时间处理的date工具类 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { public static final String DEFAULT_FORMAT_STR = "yyyyMMddHHmmss"; ...
Java时间处理工具类
Java时间处理工具类 package com.mn.common.utils; import org.apache.commons.lang.StringUtils; import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import java.tex
java时间处理工具类
java时间处理工具类,也是以前项目积累,共享之,共勉之 package com.util; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; ...
java 日期处理 口诀_java时间处理常用方法工具类
java时间处理常用方法工具类 。import java.io.PrintStream;2 import java.sql.Time;3 import java.sql.Timestamp;4 import java.text.ParsePosition;5 import java.text.SimpleDateFormat;6 import java.util.Date;7 public cla...
Java 时间处理工具类
工作中处理时间的工具类,希望对大家有用 [code="java"] package com.utils; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java...
时间处理工具类TimeUtil
package com.util;import java.io.FileWriter;import java.io.PrintWriter;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util
1074



被折叠的 条评论
为什么被折叠?



