日期工具类

import java.text.SimpleDateFormat;
import java.util.Date; public class DateUtil { public static final String DATE = "yyyy/MM/dd"; public static final String Date = "yyyy-MM-dd"; public static final String TIME = "HH:mm:ss"; public static final String DATE_TIME = "yyyy/MM/dd HH:mm:ss"; public static final String Date_TIME = "yyyy-MM-dd HH:mm:ss"; public static final String DateTime = "yyyyMMddHHmmss"; /**
* 自定义时间格式化
* @param date
* @param simpleDateFormat
* @return
*/
public static String customFormat(Date date, String simpleDateFormat){
SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat);
return sdf.format(date);
} /**
* 获取当前时间 yyyy-MM-dd HH:mm:ss
* @return 字符类型时间
*/
public static String nowFormatStr(){
return customFormat(new Date(), Date_TIME);
} /**
* 获取当前时间 yyyyMMddHHmmss
* @return 字符类型时间
*/
public static String nowFormatStrTwo(){
return customFormat(new Date(), DateTime);
} /**
* 判断日期大小
* 前者小 返回-1
* 前者大 返回1
* 相等 返回0
* @param date1
* @param date2
* @return
*/
public static int compareTo(Date date1, Date date2){
return date1.compareTo(date2);
} /**
* 判断与当前时间戳的相差的毫秒数
* @return
*/
public static long timestampDifferByNow(long timestamp){
long millis = System.currentTimeMillis();
return Math.abs(timestamp-millis);
} /**
* 判断指定的时间戳与当前时间是否超时
* @param timestamp
* @param second 在有效期内的秒数
* @return
*/
public static boolean judgeTimeOutBySecond(long timestamp, long second){
long differ = timestampDifferByNow(timestamp);
return differ/1000 >= second;
} /**
* 判断指定的时间戳与当前时间是否超时
* @param timestamp
* @param MS 毫秒
* @return
*/
public static boolean judgeTimeOutByMS(long timestamp, long MS){
long differ = timestampDifferByNow(timestamp);
return differ >= MS;
} /**
* 获取两个Date之间相差的天数
* @param begintime
* @param endtime
* @return
*/
public static Double getDaysDiffer(Date begintime, Date endtime) {
long time01 = begintime.getTime();
long time02 = endtime.getTime();
long diff = Math.abs(time01 - time02)/1000;
return diff / 86400.0;
} /**
* 获取两个Date之间相差的天数(向上取整)
* @param begintime
* @param endtime
* @return
*/
public static Integer getDaysCeilDiffer(Date begintime, Date endtime) {
Double days = getDaysDiffer(begintime, endtime);
return Double.valueOf(Math.ceil(days)).intValue();
} /**
* 获取两个Date之间相差的天数(向下取整)
* @param begintime
* @param endtime
* @return
*/
public static Integer getDaysFloorDiffer(Date begintime, Date endtime) {
Double days = getDaysDiffer(begintime, endtime);
return Double.valueOf(Math.floor(days)).intValue();
} }

记录快速开发所需的轮子,保持更新中

轮子:DateUtil.java的更多相关文章

  1. JAVA 日期格式工具类DateUtil.java

    DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...

  2. 日期工具类 - DateUtil.java

    日期工具类,提供对日期的格式化和转换方法.获取区间日期.指定日期.每月最后一天等. 源码如下:(点击下载 -DateUtil.java.commons-lang-2.6.jar ) import ja ...

  3. 存在即合理,重复轮子orm java版本

    1,业务描述前序? 需求来源于,公司的运营部门.本人所在公司(私营,游戏行业公司),从初创业,我就进入公司,一直致力于服务器核心研发. 公司成立块3年了,前后出产了4款游戏,一直在重复的制造公司游戏对 ...

  4. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

    在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...

  5. Java中的操作日期的工具类

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  6. Java基础知识强化92:日期工具类的编写和测试案例

    1. DateUtil.java,代码如下: package cn.itcast_04; import java.text.ParseException; import java.text.Simpl ...

  7. Java Utils工具类大全(转)

    源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...

  8. Java编程的逻辑 (76) - 并发容器 - 各种队列

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  9. Android工具类 DateUtil,可以用它方便的进行日期的操作

    本文转载自:http://blog.csdn.net/xuduzhoud/article/details/27526177 全部代码如下: DateUtil.java package com.exam ...

随机推荐

  1. Markdown(2)基本语法

    ​ Markdown 是一种轻量级标记语言 , 通过简单的标记语法,使文本内容具有一定的格式 . 一.段落 1. 标题 语法格式: 符号 "#" 可以标记 1~6级标题.一级标题对 ...

  2. 永恒之蓝(MS17-010)检测与利用

    目录 利用Nmap检测 MSF反弹SHELL 注意 乱码 参考 利用Nmap检测 命令: nmap -p445 --script smb-vuln-ms17-010 [IP] # 如果运行报错,可以加 ...

  3. 剑指 Offer 17. 打印从1到最大的n位数

    剑指 Offer 17. 打印从1到最大的n位数 Offer 17 题目解析: 暴力解法 package com.walegarrett.offer; /** * @Author WaleGarret ...

  4. [个人总结]pytorch中model.eval()会对哪些函数有影响?

    来源于知乎:pytorch中model.eval()会对哪些函数有影响? - 蔺笑天的回答 - 知乎 https://www.zhihu.com/question/363144860/answer/9 ...

  5. Excel查分系统搭建小技巧

    推荐一个教师必备工具"Yichafen",是一个在线查分系统,全国8000所高校都在用,三分钟极速创建发布查分系统 在工作学习中,我们经常会遇到查分系统这样的问题.培根说过:读书足 ...

  6. ZooKeeper 的选举机制,你了解多少?

    本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...

  7. Python基础(1)——变量和数据类型[xiaoshun]

    目录 一.变量 1.概述 Variables are used to store information to be referenced(引用)and manipulated(操作) in a co ...

  8. IntelliJ IDEA安装lombok

    1. 搜索Plugins 点击下方的Browse repositories.. 2.点击安装,重新启动

  9. 关于java的访问修饰符权限

    作用域    public protected default private  同一个类   yes     yes      yes      yes 同一个包   yes     yes    ...

  10. 在C#中使用 CancellationToken 处理异步任务

    在 .NET Core 中使用异步编程已经很普遍了, 你在项目中随处可见 async 和 await,它简化了异步操作,允许开发人员,使用同步的方式编写异步代码,你会发现在大部分的异步方法中,都提供了 ...