DateUtils 工具类
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 工具类相关推荐
- DateUtils 工具类:获取指定月份第一天时间,最后一天时间
获取指定月份第一天时间 getMinDateMonth ,最后一天时间 getMaxDateMonth ,将时间区间按照月份分组,拆分多个片段 getDateSplitMonth 指定月份的下个月 g ...
- 史上最全面的DateUtils工具类
/*** 此工具类包含了基本上常用的工具类,包含对于各种类型的日期的转换,以及转成我们所需要的各种类型日期格式.*/public class DateUtils {/*** 仅显示年月日,例如 201 ...
- dateutils 工具类_五金工具泡壳封边机
宁波顺德科技有限公司为您详细解读WViDaf五金工具泡壳封边机的相关知识与详情,常见型号 热合机型号可分为:HQ-5KW,HQ-8KW,HQ-15KW,HQ-25KW等通例型号. 工做本理 热合机工做 ...
- java日期的运用(DateUtils工具类)
public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sd = new SimpleDate ...
- java工具类使用_Java工具类使用注意事项
(以下摘自阿里巴巴Java开发手册) 1. [强制]获取单例对象需要保证线程安全,其中的方法也要保证线程安全. 说明:资源驱动类.工具类.单例工厂类都需要注意. 5. [强制]SimpleDateFo ...
- Joda-Time 工具类的使用
** Joda-time ** 导入maven 工程jar包 <dependency> <groupId>joda-time</groupId> <artif ...
- Android经常使用工具类DateUtils(二)
在编写代码中,会经经常使用到时间Date这个类,小编整理了一些经常使用的时间工具类.供大家參考. import java.text.ParseException; import java.text.S ...
- java 日期处理工具类_Java日期处理工具类DateUtils详解
本文实例为大家分享了Java日期处理工具类DateUtils的具体代码,供大家参考,具体内容如下 import java.sql.Timestamp; import java.text.ParseEx ...
- java dateutils_Java DateUtils java时间工具类 kaki的博客
import java.text.SimpleDateFormat; import java.util.*;java /** * 日期操做工具类 */ public class DateUtils { ...
- date工具类 DateUtils.java
简介 Date日期类型的工具类. api 日期格式化 format(Date date): 日期格式化 format(Date date, String pattern): 计算距离现在多久,非精确 ...
最新文章
- c 语言程序设计阚道宏,C语言用宏实现静态多态
- 使用 cmd、PowerShell 等用命令行的方式创建文件及文件夹
- python的科学计算库总结
- html语言中的链接方式,什么是超链接_在html中设置超链接的方法 - 驱动管家
- LHF Objective-C语法(7)id类型、动态判断与选择器
- linux部署多个jar 会宕机_我常用的自动化部署技巧,贼好用,推荐给大家!
- Acrobat Pro DC 教程,如何将纸质文档转换为可搜索的 PDF 文件?
- 御剑php字典,Newyujian1.5 御剑源码 主要用于扫描网站目录 - 下载 - 搜珍网
- java实现列表拖动排序
- ZJOI 2010 贪吃的老鼠 最大流
- day 18 tupian
- Pwnable.kr collision [Writeup]
- 如何用Nginx解决前端跨域问题?
- B - Pond Cascade Gym - 101670B
- 高防CDN对于网站、平台有着至关重要作用?
- iframe背景透明设置方法
- 2022-06-09 分析Android11 Settings里面电池信息获取流程,在里面添加显示电池温度的功能。
- 远控免杀从入门到实践(6)-代码篇-Powershell
- facebook数据_这是警察轻松获取您的Facebook数据的方法
- css3 div跳动动画_CSS3实现闪烁动画效果
热门文章
- 微软发布.NET 6,NET Framework的最新版本现已推出
- depthmap资料总结
- Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
- Java中的素数求法
- 【Linux】一步一步学Linux——iconv命令(60)
- c语言 turbo,C语言Turbo C 2.0内容介绍
- turbo c语言编程,turbo c3.0官方版下载-Turbo C下载[编程工具]-天极下载
- VB图像识别、语音识别源代码+注释
- 浙大版c语言程序设计第三版答案
- 华为HG255d刷石像鬼OpenWrt,体验强大的QOS功能