当前位置: 首页 > news >正文

自定义date工具类 DateUtils.java

自定义date工具类 DateUtils.java

简介

  • Date日期类型的工具类。

api

  • 日期格式化 format(Date date);
  • 日期格式化 format(Date date, String pattern);
  • 计算距离现在多久,非精确 getTimeBefore(Date date);
  • 计算距离现在多久,精确 getTimeBeforeNow(Date date);

源码

  • import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;/*** @说明:Date工具类*/
    public class DateUtils {public final static String format_1 = "yyyy-MM-dd";public final static String format_2 = "yyyy-MM-dd HH:mm:ss";public static void main(String[] args) throws ParseException {System.err.println(format(new Date()));System.out.println(getTimeBeforeNow(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2020-08-16 12:17:43")));System.out.println(getTimeBefore(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2020-08-16 12:17:43")));}public static String format(Date date) {return format(date, format_1);}public static String format(Date date, String pattern) {if (date != null) {SimpleDateFormat df = new SimpleDateFormat(pattern);return df.format(date);}return null;}/*** 方法功能说明:@1.计算距离现在多久,非精确* "126天前"*/public static String getTimeBefore(Date date) {Date now = new Date();long l = now.getTime() - date.getTime();long day = l / (24 * 60 * 60 * 1000);long hour = (l / (60 * 60 * 1000) - day * 24);long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);String r = "";if (day > 0) {r += day + "天";} else if (hour > 0) {r += hour + "小时";} else if (min > 0) {r += min + "分";} else if (s > 0) {r += s + "秒";}r += "前";return r;}/*** 方法功能说明:@1.计算距离现在多久,精确* "126天10小时27分28秒前"*/public static String getTimeBeforeNow(Date date) {Date now = new Date();long l = now.getTime() - date.getTime();long day = l / (24 * 60 * 60 * 1000);long hour = (l / (60 * 60 * 1000) - day * 24);long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);String r = "";if (day > 0) {r += day + "天";}if (hour > 0) {r += hour + "小时";}if (min > 0) {r += min + "分";}if (s > 0) {r += s + "秒";}r += "前";return r;}}
    
http://www.lryc.cn/news/141064.html

相关文章:

  • Linux(Ubuntu)安装docker
  • Apache Poi 实现Excel多级联动下拉框
  • 常见的 HTML<meta> 标签的 name 属性及其作用
  • 【网络安全】理解报文加密、数字签名能解决的实际问题
  • linux中安装nodejs,卸载nodejs,更新nodejs
  • 浅谈Python网络爬虫应对反爬虫的技术对抗
  • 代理池在过程中一直运行
  • 基于Java+SpringBoot+Vue前后端分离党员教育和管理系统设计和实现
  • 【flutter直接上传图片到阿里云OSS】
  • 【MySQL系列】表的内连接和外连接学习
  • C语言日常刷题 3
  • .net6中, 用数据属性事件触发 用httpclient向服务器提交Mes工单
  • sin(A)的意义
  • ctfshow-web14
  • 数据结构—循环队列(环形队列)
  • vue3 实现按钮权限管理
  • C语言练习4(巩固提升)
  • 将AI融入CG特效工作流;对谈Dify创始人张路宇;关于Llama 2的一切资源;普林斯顿LLM高阶课程;LLM当前的10大挑战 | ShowMeAI日报
  • Vue2学习笔记のVue中的ajax
  • C# 使用NPOI操作EXCEL
  • 分布式 - 服务器Nginx:一小时入门系列之 return 指令
  • 【Linux】ext4和xfs扩大,缩小lv后,无法识别如何操作
  • 基于HarmonyOS ArkUI实现音乐列表功能
  • Android系统启动流程 源码解析
  • 【头歌】构建哈夫曼树及编码
  • 创建本地镜像
  • 网络编程套接字(2): 简单的UDP网络程序
  • Android Mvvm设计模式的详解与实战教程
  • 软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-下
  • 渗透测试是什么?怎么做?