package com.huitian.eco.repair.utils;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/*** @author CDN* @desc  公共日期工具类* @date 2020/08/27 11:14*/
public class DateUtils {public static String DATE_FORMAT = "yyyy-MM-dd";public static String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";public static String DATE_FORMAT_CHINESE = "yyyy年M月d日";/*** 获取当前日期** @return*/public static String getCurrentDate() {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_FORMAT);datestr = df.format(new Date());return datestr;}/*** 获取当前日期时间** @return*/public static String getCurrentDateTime() {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_TIME_FORMAT);datestr = df.format(new Date());return datestr;}/*** 获取当前日期时间** @return*/public static String getCurrentDateTime(String Dateformat) {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(Dateformat);datestr = df.format(new Date());return datestr;}public static String dateToDateTime(Date date) {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_TIME_FORMAT);datestr = df.format(date);return datestr;}/*** 将字符串日期转换为日期格式** @param datestr* @return*/public static Date stringToDate(String datestr) {if (datestr == null || "".equals(datestr)) {return null;}Date date = new Date();SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_FORMAT);try {date = df.parse(datestr);} catch (ParseException e) {date = DateUtils.stringToDate(datestr, "yyyyMMdd");}return date;}/*** 将字符串日期转换为日期格式* 自定義格式** @param datestr* @return*/public static Date stringToDate(String datestr, String dateformat) {Date date = new Date();SimpleDateFormat df = new SimpleDateFormat(dateformat);try {date = df.parse(datestr);} catch (ParseException e) {e.printStackTrace();}return date;}/*** 将日期格式日期转换为字符串格式** @param date* @return*/public static String dateToString(Date date) {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(DateUtils.DATE_FORMAT);datestr = df.format(date);return datestr;}/*** 将日期格式日期转换为字符串格式 自定義格式** @param date* @param dateformat* @return*/public static String dateToString(Date date, String dateformat) {String datestr = null;SimpleDateFormat df = new SimpleDateFormat(dateformat);datestr = df.format(date);return datestr;}/*** 获取日期的DAY值** @param date 输入日期* @return*/public static int getDayOfDate(Date date) {int d = 0;Calendar cd = Calendar.getInstance();cd.setTime(date);d = cd.get(Calendar.DAY_OF_MONTH);return d;}/*** 获取日期的MONTH值** @param date 输入日期* @return*/public static int getMonthOfDate(Date date) {int m = 0;Calendar cd = Calendar.getInstance();cd.setTime(date);m = cd.get(Calendar.MONTH) + 1;return m;}/*** 获取日期的YEAR值** @param date 输入日期* @return*/public static int getYearOfDate(Date date) {int y = 0;Calendar cd = Calendar.getInstance();cd.setTime(date);y = cd.get(Calendar.YEAR);return y;}/*** 获取星期几** @param date 输入日期* @return*/public static int getWeekOfDate(Date date) {int wd = 0;Calendar cd = Calendar.getInstance();cd.setTime(date);wd = cd.get(Calendar.DAY_OF_WEEK) - 1;return wd;}/*** 获取输入日期的当月第一天** @param date 输入日期* @return*/public static Date getFirstDayOfMonth(Date date) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.set(Calendar.DAY_OF_MONTH, 1);return cd.getTime();}/*** 获得输入日期的当月最后一天** @param date*/public static Date getLastDayOfMonth(Date date) {return DateUtils.addDay(DateUtils.getFirstDayOfMonth(DateUtils.addMonth(date, 1)), -1);}/*** 判断是否是闰年** @param date 输入日期* @return 是true 否false*/public static boolean isLeapYEAR(Date date) {Calendar cd = Calendar.getInstance();cd.setTime(date);int year = cd.get(Calendar.YEAR);if (year % 4 == 0 && year % 100 != 0 | year % 400 == 0) {return true;} else {return false;}}/*** 根据整型数表示的年月日,生成日期类型格式** @param year  年* @param month 月* @param day   日* @return*/public static Date getDateByYMD(int year, int month, int day) {Calendar cd = Calendar.getInstance();cd.set(year, month - 1, day);return cd.getTime();}/*** 获取年周期对应日** @param date  输入日期* @param iyear 年数  負數表示之前* @return*/public static Date getYearCycleOfDate(Date date, int iyear) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.add(Calendar.YEAR, iyear);return cd.getTime();}/*** 获取月周期对应日** @param date 输入日期* @param i* @return*/public static Date getMonthCycleOfDate(Date date, int i) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.add(Calendar.MONTH, i);return cd.getTime();}/*** 计算 fromDate 到 toDate 相差多少年** @param fromDate* @param toDate* @return 年数*/public static int getYearByMinusDate(Date fromDate, Date toDate) {Calendar df = Calendar.getInstance();df.setTime(fromDate);Calendar dt = Calendar.getInstance();dt.setTime(toDate);return dt.get(Calendar.YEAR) - df.get(Calendar.YEAR);}/*** 计算 fromDate 到 toDate 相差多少个月** @param fromDate* @param toDate* @return 月数*/public static int getMonthByMinusDate(Date fromDate, Date toDate) {Calendar df = Calendar.getInstance();df.setTime(fromDate);Calendar dt = Calendar.getInstance();dt.setTime(toDate);return dt.get(Calendar.YEAR) * 12 + dt.get(Calendar.MONTH) -(df.get(Calendar.YEAR) * 12 + df.get(Calendar.MONTH));}/*** 计算 fromDate 到 toDate 相差多少天** @param fromDate* @param toDate* @return 天数*/public static long getDayByMinusDate(Object fromDate, Object toDate) {Date f = DateUtils.chgObject(fromDate);Date t = DateUtils.chgObject(toDate);long fd = f.getTime();long td = t.getTime();return (td - fd) / (24L * 60L * 60L * 1000L);}/*** 计算年龄** @param birthday 生日日期* @param calcDate 要计算的日期点* @return*/public static int calcAge(Date birthday, Date calcDate) {int cYear = DateUtils.getYearOfDate(calcDate);int cMonth = DateUtils.getMonthOfDate(calcDate);int cDay = DateUtils.getDayOfDate(calcDate);int bYear = DateUtils.getYearOfDate(birthday);int bMonth = DateUtils.getMonthOfDate(birthday);int bDay = DateUtils.getDayOfDate(birthday);if (cMonth > bMonth || (cMonth == bMonth && cDay > bDay)) {return cYear - bYear;} else {return cYear - 1 - bYear;}}/*** 从身份证中获取出生日期** @param idno 身份证号码* @return*/public static String getBirthDayFromIDCard(String idno) {Calendar cd = Calendar.getInstance();if (idno.length() == 15) {cd.set(Calendar.YEAR, Integer.parseInt("19" + idno.substring(6, 8)));cd.set(Calendar.MONTH, Integer.parseInt(idno.substring(8, 10)) - 1);cd.set(Calendar.DAY_OF_MONTH, Integer.parseInt(idno.substring(10, 12)));} else if (idno.length() == 18) {cd.set(Calendar.YEAR, Integer.parseInt(idno.substring(6, 10)));cd.set(Calendar.MONTH, Integer.parseInt(idno.substring(10, 12)) - 1);cd.set(Calendar.DAY_OF_MONTH, Integer.parseInt(idno.substring(12, 14)));}return DateUtils.dateToString(cd.getTime());}/*** 在输入日期上增加(+)或减去(-)天数** @param date 输入日期* @param iday 要增加或减少的天数*/public static Date addDay(Date date, int iday) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.add(Calendar.DAY_OF_MONTH, iday);return cd.getTime();}/*** 在输入日期上增加(+)或减去(-)月份** @param date   输入日期* @param imonth 要增加或减少的月分数*/public static Date addMonth(Date date, int imonth) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.add(Calendar.MONTH, imonth);return cd.getTime();}/*** 在输入日期上增加(+)或减去(-)年份** @param date  输入日期* @param iyear 要增加或减少的年数*/public static Date addYear(Date date, int iyear) {Calendar cd = Calendar.getInstance();cd.setTime(date);cd.add(Calendar.YEAR, iyear);return cd.getTime();}/*** 將OBJECT類型轉換為Date** @param date* @return*/public static Date chgObject(Object date) {if (date instanceof Date) {return (Date) date;}if (date instanceof String) {return DateUtils.stringToDate((String) date);}return null;}}

DateUtils 工具类相关推荐

  1. DateUtils 工具类:获取指定月份第一天时间,最后一天时间

    获取指定月份第一天时间 getMinDateMonth ,最后一天时间 getMaxDateMonth ,将时间区间按照月份分组,拆分多个片段 getDateSplitMonth 指定月份的下个月 g ...

  2. 史上最全面的DateUtils工具类

    /*** 此工具类包含了基本上常用的工具类,包含对于各种类型的日期的转换,以及转成我们所需要的各种类型日期格式.*/public class DateUtils {/*** 仅显示年月日,例如 201 ...

  3. dateutils 工具类_五金工具泡壳封边机

    宁波顺德科技有限公司为您详细解读WViDaf五金工具泡壳封边机的相关知识与详情,常见型号 热合机型号可分为:HQ-5KW,HQ-8KW,HQ-15KW,HQ-25KW等通例型号. 工做本理 热合机工做 ...

  4. java日期的运用(DateUtils工具类)

    public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sd = new SimpleDate ...

  5. java工具类使用_Java工具类使用注意事项

    (以下摘自阿里巴巴Java开发手册) 1. [强制]获取单例对象需要保证线程安全,其中的方法也要保证线程安全. 说明:资源驱动类.工具类.单例工厂类都需要注意. 5. [强制]SimpleDateFo ...

  6. Joda-Time 工具类的使用

    ** Joda-time ** 导入maven 工程jar包 <dependency> <groupId>joda-time</groupId> <artif ...

  7. Android经常使用工具类DateUtils(二)

    在编写代码中,会经经常使用到时间Date这个类,小编整理了一些经常使用的时间工具类.供大家參考. import java.text.ParseException; import java.text.S ...

  8. java 日期处理工具类_Java日期处理工具类DateUtils详解

    本文实例为大家分享了Java日期处理工具类DateUtils的具体代码,供大家参考,具体内容如下 import java.sql.Timestamp; import java.text.ParseEx ...

  9. java dateutils_Java DateUtils java时间工具类 kaki的博客

    import java.text.SimpleDateFormat; import java.util.*;java /** * 日期操做工具类 */ public class DateUtils { ...

  10. date工具类 DateUtils.java

    简介 Date日期类型的工具类. api 日期格式化 format(Date date): 日期格式化 format(Date date, String pattern): 计算距离现在多久,非精确  ...

最新文章

  1. c 语言程序设计阚道宏,C语言用宏实现静态多态
  2. 使用 cmd、PowerShell 等用命令行的方式创建文件及文件夹
  3. python的科学计算库总结
  4. html语言中的链接方式,什么是超链接_在html中设置超链接的方法 - 驱动管家
  5. LHF Objective-C语法(7)id类型、动态判断与选择器
  6. linux部署多个jar 会宕机_我常用的自动化部署技巧,贼好用,推荐给大家!
  7. Acrobat Pro DC 教程,如何将纸质文档转换为可搜索的 PDF 文件?
  8. 御剑php字典,Newyujian1.5 御剑源码 主要用于扫描网站目录 - 下载 - 搜珍网
  9. java实现列表拖动排序
  10. ZJOI 2010 贪吃的老鼠 最大流
  11. day 18 tupian
  12. Pwnable.kr collision [Writeup]
  13. 如何用Nginx解决前端跨域问题?
  14. B - Pond Cascade Gym - 101670B
  15. 高防CDN对于网站、平台有着至关重要作用?
  16. iframe背景透明设置方法
  17. 2022-06-09 分析Android11 Settings里面电池信息获取流程,在里面添加显示电池温度的功能。
  18. 远控免杀从入门到实践(6)-代码篇-Powershell
  19. facebook数据_这是警察轻松获取您的Facebook数据的方法
  20. css3 div跳动动画_CSS3实现闪烁动画效果

热门文章

  1. 微软发布.NET 6,NET Framework的最新版本现已推出
  2. depthmap资料总结
  3. Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
  4. Java中的素数求法
  5. 【Linux】一步一步学Linux——iconv命令(60)
  6. c语言 turbo,C语言Turbo C 2.0内容介绍
  7. turbo c语言编程,turbo c3.0官方版下载-Turbo C下载[编程工具]-天极下载
  8. VB图像识别、语音识别源代码+注释
  9. 浙大版c语言程序设计第三版答案
  10. 华为HG255d刷石像鬼OpenWrt,体验强大的QOS功能