一、DateUtils常用方法

 

1.1.常用的日期判断

  • isSameDay(final Date date1, final Date date2):判断两个时间是否是同一天
  • isSameInstant(final Date date1, final Date date2):判断两个时间是否为同一毫秒

常用的时间判断示例代码

DateUtils.isSameDay(new Date(),new Date());
DateUtils.isSameInstant(new Date(), new Date());

  

 

1.2.日期的基本操作

String转Date

parseDate(final String str, final Locale locale, final String... parsePatterns) throws ParseException

 DateUtils.parseDate("20181223 12:34:23",  Locale.TRADITIONAL_CHINESE,"yyyy-MM-dd HH:mm:ss");

Date转String

可以使用DateFormatUtils.format()方法

DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");

日期加减

addYears(final Date date, final int amount),对日期进行加减年分操作,amount为正数表示加,负数表示减。同理,还有addMonths加减月份,addDays加减日,addWeeks加减周,addHours加减小时,addMinutes加减分钟等方法,具体使用可以参看源码。

Date date = DateUtils.addYears(new Date(), 3);

日期设置

setYears(final Date date, final int amount),给指定的日期设置指定的年份,同理,setMonths设置月份,setDays设置日,setHours设置小时等等方法。

Date date1 = DateUtils.setYears(new Date(), 2018);

日期四舍五入

round(final Date date, final int field),将指定的日期中指定的部分四舍五入,四舍五入的 常量有Calendar.YEARCalendar.MONTHCalendar.HOUR_OF_DAYCalendar.DAY_OF_MONTHCalendar.HOURCalendar.MINUTE等;

/*当前时间:2018-11-25 00:50:57,结果为:2019-01-01 00:00:00*/
Date round = DateUtils.round(new Date(), Calendar.YEAR);

日期截取

truncate(final Date date, final int field)round差距在于不会四舍五入,截取的常量字段有Calendar.YEARCalendar.MONTHCalendar.HOUR_OF_DAYCalendar.DAY_OF_MONTHCalendar.HOURCalendar.MINUTE等。

/*当前时间:2018-11-25 00:58:03 ,结果为:2018-01-01 00:00:00*/
Date truncate = DateUtils.truncate(new Date(), Calendar.YEAR);

获取指定时间的天数

getFragmentInDays(final Date date, final int fragment)获取指定时间的天数,fragment可以是Calendar.YEAR获取年已经过了多少天,同理,Calendar.MONTH月份过去了多少天,当然还有getFragmentInSeconds过去多少秒,getFragmentInMinutes过去多少分钟,getFragmentInHours过去多少小时等。

/*当前时间:2018-11-25 00:58:03 ,结果为:329*/
long fragmentInDays = DateUtils.getFragmentInDays(new Date(), Calendar.YEAR);

比较日历字段是否相等

truncatedEquals(final Date date1, final Date date2, final int field)可以比较年,月,日等日历字段。

boolean b = DateUtils.truncatedEquals(new Date(), new Date(), Calendar.YEAR);
 

DateUtils常用方法的更多相关文章

  1. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  2. Jquery元素选取、常用方法

    一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...

  3. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

  4. C# Webbrowser 常用方法及多线程调用

    设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...

  5. list,tuple,dict,set常用方法

    Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...

  6. DateUtils 学习记录1

    开发过程中很多时候都需要处理各种各样的日期..有些项目可能还会有自己的DateUtil.... 其实apache commons lang3有一个很好用的日期处理工具类,叫DateUtils... 基 ...

  7. 记录yii2-imagine几个常用方法

    记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...

  8. DOM常用方法总结

    DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...

  9. JSP内置对象及常用方法

    jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...

随机推荐

  1. ORM sqlachemy

    本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping ...

  2. 深入浅出 Java Concurrency (5): 原子操作 part 4 CAS操作

    在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁). 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度 ...

  3. xsigo systems

    继虚拟化管理软件巨头VMware以12.6亿美元收购云计算网络虚拟化厂商Nicira后,昨日,有报道称,甲骨文也不甘示弱,宣布收购了另一家网络虚拟化技术厂商Xsigo,为这股SDN(软件定义网络)热潮 ...

  4. cpu真实核数

    判断依据: 1.具有相同core id的cpu是同一个core的超线程. 2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores. 英文版: 1.Physical id an ...

  5. ES6系列_15之class类的使用

    JS语言的传统方法是通过构造函数,定义并生成新对象,是一种基于原型的面向对象系统.在ES6中新增加了类的概念,可以使用 class 关键字声明一个类,之后以这个类来实例化对象.1.先来看看es5与es ...

  6. Halcon中二维码解析函数解码率和时长的优化方法

    Halcon中条码解析函数包容多种条码类型且简单强大.现有的‘Data Matrix ECC 200’.‘QR Code’和‘PDF417’等广泛使用的条码均能解析.简单是通过默认参数即可对多种条码进 ...

  7. VMware 克隆网卡无法启动

    问题描述: 最近学习 hadoop,环境准备搭建在虚拟机之上,装好一台虚拟机克隆完成后,网卡无法启动. 多年前,初学 Linux 的时候,就遇到过这个问题,记录的笔记找不到了,简单记录一下. shel ...

  8. 因式分解 · Factor Combinations

    [抄题]: 给出 n = 8 返回 [[2,2,2],[2,4]] // 8 = 2 x 2 x 2 = 2 x 4 [暴力解法]: 时间分析: 空间分析: [思维问题]: [一句话思路]: 类似于全 ...

  9. CloudStack 4.1快照测试

    目前4.1只支持存储快照,4.2能支持内快照 1. 选中实例 2. 查看实例卷 3. 创建快照 4. 通过快照创建模板 5. 查看通过快照创建的模板 6. 通过快照创建模板生成的实例 7. 自动定制创 ...

  10. 在Ubuntu18.04的Docker中安装Oracle镜像及简单使用

    一.软件环境: 1.OS:Ubuntu 18.04 2.已安装了Docker 二.安装Oracle镜像的过程 1.切换到root账号下,如果是普通账号,下面操作指令前面加sudo 2.搜索oracle ...