轮子:DateUtil.java
日期工具类
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(); } }
记录快速开发所需的轮子,保持更新中
作者: 半月无霜
出处:https://www.cnblogs.com/banmoon/p/13356350.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!