日期工具类

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. 面试系列二:精选大数据面试真题JVM专项-附答案详细解析

    公众号(五分钟学大数据)已推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型: ...

  2. POJ-2240(floyd算法简单应用)

    Arbitrage poj-2240 #include<iostream> #include<cstdio> #include<cstring> #include& ...

  3. Windows-Redis占用C盘系统空间

    发现redis在电脑死机蓝屏的情况下,就是非正常退出redis会导致redis的缓存文件不会回收,占用系统空间, 下次在启动的时候,会再次创建一个10G多的缓存文件,极度占用磁盘空间. 现说明解决办法 ...

  4. 我的2019年总结和一些2020年的flag

    我的2019年总结和一些2020年的flag 前言 2019年在我的人生中注定是里程碑的一年,主要是我毕业了.本篇总结主要聊一些2019年经历的事以及对于自己2020年的期待 1. 再见2019 1. ...

  5. c语言跨文件调用函数中声明的变量

    转载:weixin_33885253 变量的作用域 变量根据其作用域有全局变量和局部变量之分.全局变量作用域是整个文件,并且可以使用关键字extern达到跨文件调用的目的.但是局部变量值作用于它当前所 ...

  6. 一文读懂SuperEdge拓扑算法

    前言 SuperEdge service group 利用 application-grid-wrapper 实现拓扑感知,完成了同一个 nodeunit 内服务的闭环访问 在深入分析 applica ...

  7. java集合【12】——— ArrayList,LinkedList,Vector的相同点与区别是什么?

    目录 特性列举 底层存储结构不同 线程安全性不同 默认的大小不同 扩容机制 迭代器 增删改查的效率 总结一下 要想回答这个问题,可以先把各种都讲特性,然后再从底层存储结构,线程安全,默认大小,扩容机制 ...

  8. Centos7安装nexus(maven私服)以及maven的相关配置

    一.nexus安装: 1.获取nexus下载地址: 查询nexus最新版本地址:https://help.sonatype.com/repomanager3/download 当前最新版本为nexus ...

  9. Android Studio 如何在TextView中设置图标并按需调整图标大小

    •任务 相信大家对这张图片都不陌生,没错,就是 QQ动态 向我们展示的界面. 如何实现呢? •添加文字并放入图标 新建一个 Activity,取名为 QQ,Android Studio 自动为我们生成 ...

  10. Web 前端 - 浅谈外部手动控制 Promise 状态

    前言 当有多个共享资源.协同操作的时候,往往需要根据动态亦或是复杂的条件以控制和调用程序逻辑. 还是那句话,懂的人自然懂,不懂的人也搜不到这个随笔. 设计 PendingPromise<T> ...