时间处理的工具类 DateUtil

2024-04-08 01:18
文章标签 工具 处理 时间 dateutil

本文主要是介绍时间处理的工具类 DateUtil,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

public final class DateUtil {

 

/**

* 时间转换成字符串

* @param date

*            时间

* @param format

*            格式

* @return

*/

public static String format(Date date, String format) {

return new SimpleDateFormat(format).format(date);

}

 

/**

* 字符串转换成日期

* @param dateString

*            时间的字符串格式

* @param format

*            格式

* @return

* @throws ParseException

*/

public static Date parse(String dateString, String format) throws ParseException {

return new SimpleDateFormat(format).parse(dateString);

}

 

/**

* 取得离date时间相差几天的日期

* @param date

*            被相比的日期

* @param days

*            相差的几天(正数表示向后差几天,负数表示向前差几天)

* @return

*/

public static Date getLeaveDay(Date date, int days) {

Calendar cal = Calendar.getInstance();

cal.setTime(date);

cal.add(cal.DAY_OF_YEAR, days);

return cal.getTime();

}

 

/**

* 根据日期算年龄

* @param birthDate

* @return

*/

public static int countAge(Date birthDate) {

Calendar birthday = new GregorianCalendar();

birthday.setTime(birthDate);

Calendar currtDate = new GregorianCalendar();

int age = currtDate.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);

//取得周岁,即如果生日还没过,那么将年龄减1

birthday.add(Calendar.YEAR, age);

if (birthday.after(currtDate)) {

age--;

}

return age;

}

public static Date addHour(Date date,int hours) {

Calendar cal = new GregorianCalendar();

cal.setTime(date);

cal.add(Calendar.HOUR, hours);

return cal.getTime();

}

 

/**

* 取得两个日期的期间

* @param beginDate

* @param endDate

* @return 格式0Y00M000D

*/

public static String getPeriod(Date beginDate, Date endDate) {

GetDulTime getDulTime = new GetDulTime();

   String s = getDulTime.CalDulTime(beginDate,endDate); //计算日期的区间

return s; 

}

public static java.sql.Date toSqlDate(Date date){

if(date!=null){

return new java.sql.Date(date.getTime());

}

return null;

}

 

public static void main(String[] args) throws ParseException {

System.out.println(DateUtil.countAge(DateUtil.parse("19900913", "yyyyMMdd")));

System.out.println(DateUtil.addHour(new Date(),5).toLocaleString());

System.out.println(DateUtil.getPeriod(DateUtil.parse("20120229", "yyyyMMdd"), DateUtil.parse("20130229", "yyyyMMdd")));

}

 

}

这篇关于时间处理的工具类 DateUtil的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884189

相关文章

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.