DateUtils(一个日期工具类)

用途:一些与时间相关的处理
功能:
1.获取当前时间 格式---->2019-08-04 13:30:29:getNowTime
2.将一个日期字符串转换成Data对象 string–>date:stringToDate
3将date转换成字符串 date—>string:dateToString
4.获取指定日期 ,返回值为: “周日”, “周一”, “周二”, “周三”, “周四”, “周五”, “周六”:getWeekOfDate
5.获取指定日期对应周几的序列:getIndexWeekOfDate
6.获取当前月份:getNowMonth
7.获取当前月号:getNowDay
8.获取当前年份:getNowYear
9.获取本月份的天数:getNowDaysOfMonth
10.获取指定月份的天数:daysOfMonth
11.计算两个日期之间的年份差距:getYearGapOfDates
12:计算两个日期之间的月份差距:getMonthGapOfDates
13.计算两个日期之间的天数差:getDaysGapOfDates

public class DateUtils {public static final long ONE_DAY_MILLS = 3600000 * 24;private DateUtils() {}/*** 日期格式     enum(枚举类型):一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符 -->为申明的变量提供更大的取值范围*/public enum DateFormat {/*** 格式:"yyyy-MM-dd HH:mm:ss"*/ALL_TIME {public String getValue() {return "yyyy-MM-dd HH:mm:ss";}},/*** 格式:"yyyy-MM-dd HH:mm"*/ONLY_MINUTE {public String getValue() {return "yyyy-MM-dd HH:mm";}},/*** 格式:"yyyy-MM-dd HH"*/ONLY_HOUR {public String getValue() {return "yyyy-MM-dd HH";}},/*** 格式:"yyyy-MM-dd"*/ONLY_DAY {public String getValue() {return "yyyy-MM-dd";}},/*** 格式:"yyyy-MM"*/ONLY_MONTH {public String getValue() {return "yyyy-MM";}},/*** 格式:"MM-dd"*/ONLY_MONTH_DAY {public String getValue() {return "MM-dd";}},/*** 格式:"MM-dd HH:mm"*/ONLY_MONTH_SEC {public String getValue() {return "MM-dd HH:mm";}},/*** 格式:"HH:mm:ss"*/ONLY_TIME {public String getValue() {return "HH:mm:ss";}},/*** 格式:"HH:mm"*/ONLY_HOUR_MINUTE {public String getValue() {return "HH:mm";}};public abstract String getValue();}/*** 获取当前时间  格式---->2019-08-04    13:30:29*/public static String getNowTime(DateFormat format) {String nowtime = null;Calendar calendar = Calendar.getInstance();Date dateNow = calendar.getTime();SimpleDateFormat sdf = new SimpleDateFormat(format.getValue(), Locale.CHINA);nowtime = sdf.format(dateNow);return nowtime;}/*** 将一个日期字符串转换成Data对象         string-->date** @param dateString 日期字符串* @param format     转换格式* @return*/public static Date stringToDate(String dateString, DateFormat format) {Date date = null;SimpleDateFormat sdf = new SimpleDateFormat(format.getValue(), Locale.CHINA);try {date = sdf.parse(dateString);} catch (ParseException e) {e.printStackTrace();}return date;}/*** 将date转换成字符串               date--->string** @param date   日期* @param format 日期目标格式* @return*/public static String dateToString(Date date, DateFormat format) {String string = "";SimpleDateFormat sdf = new SimpleDateFormat(format.getValue(), Locale.CHINA);string = sdf.format(date);return string;}/*** 获取指定日期** @param date 指定日期* @return 返回值为: "周日", "周一", "周二", "周三", "周四", "周五", "周六"*/public static String getWeekOfDate(Date date) {String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};Calendar calendar = Calendar.getInstance();calendar.setTime(date);int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;if (week < 0)week = 0;return weekDays[week];}/*** 获取指定日期对应周几的序列** @param date 指定日期* @return 周一:1    周二:2    周三:3    周四:4    周五:5    周六:6    周日:7*/public static int getIndexWeekOfDate(Date date) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);int index = calendar.get(Calendar.DAY_OF_WEEK);if (index == 1) {return 7;} else {return --index;}}/*** 获取当前月份*/public static int getNowMonth() {Calendar calendar = Calendar.getInstance();return calendar.get(Calendar.MONTH) + 1;}/*** 获取当前月号*/public static int getNowDay() {Calendar calendar = Calendar.getInstance();return calendar.get(Calendar.DATE);}/*** 获取当前年份*/public static int getNowYear() {Calendar calendar = Calendar.getInstance();return calendar.get(Calendar.YEAR);}/*** 获取本月份的天数*/public static int getNowDaysOfMonth() {Calendar calendar = Calendar.getInstance();return daysOfMonth(calendar.get(Calendar.YEAR), calendar.get(Calendar.DATE) + 1);}/*** 计算两个日期之间的年份差距** @param firstDate* @param secondDate* @return*/public static int getYearGapOfDates(Date firstDate, Date secondDate) {if (firstDate == null || secondDate == null) {return 0;}Calendar helpCalendar = Calendar.getInstance();helpCalendar.setTime(firstDate);int firstYear = helpCalendar.get(Calendar.YEAR);helpCalendar.setTime(secondDate);int secondYear = helpCalendar.get(Calendar.YEAR);return secondYear - firstYear;}/*** 计算两个日期之间的天数差** @param startDate* @param endDate* @return*/public static int getDaysGapOfDates(Date startDate, Date endDate) {int date = 0;if (startDate != null && endDate != null) {date = getDaysBetween(startDate, endDate);}return date;}/*** 计算两个日期之间的月份差距** @param firstDate* @param secondDate* @return*/public static int getMonthGapOfDates(Date firstDate, Date secondDate) {if (firstDate == null || secondDate == null) {return 0;}return (int) ((secondDate.getTime() - firstDate.getTime())/ ONE_DAY_MILLS / 30);}/*** 获取指定月份的天数** @param year  年份* @param month 月份* @return 对应天数*/public static int daysOfMonth(int year, int month) {switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;case 4:case 6:case 9:case 11:return 30;case 2:if ((year % 4 == 0 && year % 100 == 0) || year % 400 != 0) {return 29;} else {return 28;}default:return -1;}}private static int getDaysBetween(Date startDate, Date endDate) {return (int) ((endDate.getTime() - startDate.getTime()) / ONE_DAY_MILLS);}
}

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. 7 个日常实用的 Shell 拿来就用脚本实例!
  2. Android从普通发送和接收短信到对短信进行拦截
  3. Mips TLB miss异常
  4. php 桥接 微信80端口,解决MAC系统在做微信开发时候tomcat无法使用80端口问题
  5. Dreamweaver PHP代码护眼配色方案
  6. 常用的web安全处理
  7. MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作
  8. byte java 空_java – 如何检查字节数组是否为空?
  9. 在线文本去重统计工具
  10. CentOS 6 上安装 pip、setuptools
  11. 调试时遇到 调试源程序时Loaderlock 的解决办法
  12. 产品经理的段位——说说腾讯的产品职级
  13. 大麦网抢票python代码_damai_ticket
  14. maven 汉字转拼音
  15. 思迅商云8版的最后一个版本_泪目!科比成为2K21第3位封面球星,将推出曼巴永恒版...
  16. Joomla 一个实例建站过程
  17. 毕业论文发表在什么期刊
  18. Oracle RAC集群三种心跳机制
  19. GPA计算(5.0分制)
  20. 使用luac加密lua文件

热门文章

  1. 基于springboot的高校失物招领系统毕业设计源码111731
  2. Sqlloader导数据进数据库时间过长或卡住原因探讨及解决办法
  3. java编程对电脑配置_java编程对电脑配置有什么要求?如何选择合适电脑?
  4. C盘清理工具Dism++教程
  5. a form 出口享惠情况_关税聚焦 | 报关单“出口享惠情况”填报解读
  6. Java的核心技术有哪些
  7. dd wrt php,HG255D(DDWRT)挂载U盘安装emlog和Discuz!教程
  8. windows2003 64位+iis6 php环境搭建
  9. CSS 图片去色处理
  10. matlab炮灰模型,非诚勿扰的数学分析