一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一个小的工具类,方便项目使用,也方便以后的复用和查询.下面见代码:

/**
*
* 〈一句话功能简述〉<br>
* 〈功能详细描述〉 日期工具类
*
* @author 12061799
* @see [相关类/方法](可选)
* @since [产品/模块版本] (可选)
*/
public class DateUtil { // 日期格式 年.
public static final String YEAR_FORMAT = "yyyy"; // 默认日期格式.
public static final String DEFALT_DATE_FORMAT = "yyyy-MM-dd"; // 默认时间格式.带时分秒
public static final String DEFUALT_TIMESTAMPE_FORMAT = "yyyy-MM-dd hh:mm:ss sss"; // 时间格式yyyyMMddHHmmssSSS.
public static final String DATE_FORMATE_YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS"; // 时间格式yyyy-MM-dd HH:mm:ss.
public static final String DATE_FORMATE_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss"; // 时间格式yyMMdd.
public static final String DATE_FORMATE_YYMMDD = "yyMMdd"; // 时间格式DATE_FORMATE_YYYYMMDD.
public static final String DATE_FORMATE_YYYYMMDD = "yyyyMMdd"; // 时间格式yyyyMMddHHmmssSSS.
public static final String DATE_FORMATE_YYMMDDHHMMSS = "yyMMddHHmmss"; /**
* private constructor
*/
private DateUtil() { } /**
* 取得现在时间.
*
* @return 现在时间
*/
public static String getCurrentSqlTimestampString() {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DEFUALT_TIMESTAMPE_FORMAT);
return sdf.format(today);
} /**
* 取得指定格式的时间格式字符串
*
* @return 现在时间
*/
public static String getDateStringByFormat(String format) {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(today);
} /**
* 将传入的时间转换为指定时间格式字符串.
*
* @param time 传入时间
* @param dateFormat 时间格式
* @return 时间字符串
*/
public static String formatTimeStamp(Timestamp time, String dateFormat) {
if (time == null) {
return "";
} SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(time);
} /**
* 取得现在时间.
*
* @return 现在时间
*/
public static Timestamp getCurrentSqlTimestamp() {
return new Timestamp(System.currentTimeMillis());
} /**
* 取得今天日期字符串.
*
* @return 今天日期字符串
*/
public static String getCurrentDay() {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DEFALT_DATE_FORMAT);
return sdf.format(today);
} /**
* 取得今天日期+时间字符串.
*
* @return 今天日期字符串 YYYY-MM-dd HH:mm:ss
*/
public static String getCurrentDayTime() {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMATE_YYYYMMDDHHMMSS);
return sdf.format(today);
} /**
* 将传入的时间转换为默认时间格式字符串.
*
* @param time 传入时间
* @return 时间字符串
*/
public static String formatTimeStampDefualt(Timestamp time) {
if (time == null) {
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(DEFUALT_TIMESTAMPE_FORMAT);
return sdf.format(time);
} /**
* 将传入日期转换为默认格式字符串.
*
* @param date 传入日期
* @return 日期字符串
*/
public static String formatDateDefault(Date date) {
if (date == null) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(DEFALT_DATE_FORMAT);
return sdf.format(date);
} /**
* 功能描述: 根据指定的格式化规则返回当前日期
*
* @param string
* @return [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
public static String getCurrentDate(String formater) {
SimpleDateFormat format = new SimpleDateFormat(formater);
return format.format(new Date());
} /**
* 将传入日期转换为指定格式字符串.
*
* @param date 传入日期
* @param dateFormat 时间格式
* @return 日期字符串
*/
public static String formatDateByDateFormate(Date date, String dateFormat) {
if (date == null) {
return null;
} SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(date);
} /**
* 取得当前年 .
*
* @return 当前年
*/
public static String getCurrentYear() {
Date today = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(YEAR_FORMAT);
return sdf.format(today);
} public static Date formatDate(String date) throws ParseException {
DateFormat df = new SimpleDateFormat(DEFALT_DATE_FORMAT);
return df.parse(date);
} /**
*
* 功能描述: <br>
* 计算距今天指定天数的日期
*
* @param days
* @return
* @since 20130630
*/
public static String getDateAfterDays(int days) {
Calendar date = Calendar.getInstance();// today
date.add(Calendar.DATE, days);
SimpleDateFormat simpleDate = new SimpleDateFormat(DEFALT_DATE_FORMAT);
return simpleDate.format(date.getTime());
} /**
* 在指定的日期的前几天或后几天
*
* @param source 源日期(yyyy-MM-dd)
* @param days 指定的天数,正负皆可
* @return
* @throws ParseException
*/
public static String addDays(String source, int days) {
Date date = null;
try {
date = formatDate(source);
} catch (ParseException e) {
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, days);
SimpleDateFormat dateFormat = new SimpleDateFormat(DEFALT_DATE_FORMAT);
return dateFormat.format(calendar.getTime());
} /**
*
* 功能描述: <br>
* 〈功能详细描述〉校验正确的日期格式
*
* @param str
* @return
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
public static boolean isValidDate(String str, String format) {
boolean convertSuccess = true;
// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
SimpleDateFormat sf = new SimpleDateFormat(format);
try {
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
sf.setLenient(false);
sf.parse(str);
} catch (ParseException e) {
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
convertSuccess = false;
}
return convertSuccess;
} /**
*
* 功能描述: <br>
* 〈功能详细描述〉计算时间相隔的天数
*
* @param beginDateStr
* @param endDateStr
* @return
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
public static long getDaySub(String beginDateStr, String endDateStr) {
long day = 0;
SimpleDateFormat format = new SimpleDateFormat(DateUtil.DEFALT_DATE_FORMAT);
Date beginDate;
Date endDate;
try {
beginDate = format.parse(beginDateStr);
endDate = format.parse(endDateStr);
day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);
} catch (ParseException e) {
throw new RuntimeException("传入日期参数有误!",e);
}
return day;
}
}

工具类中的方法,一般都是定义成共有的静态防范,方便其他的业务的注入工具类,调用类的方法.注意:

1,首先定义了一系列的日期格式字符串,方便获取任意的格式的时间字符串

2,定义了一些操作方法,方便获取时间信息,以及一些计算操作,

3.静态的方法,直接使用类名调用即可,非常适用项目中的实时调用.

JAVA 日期工具类的总结的更多相关文章

  1. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  2. java日期工具类DateUtil-续一

    上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...

  3. java日期工具类DateUtil-续二

    该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...

  4. java日期工具类DateUtil

    一名优秀的程序员,不仅需要有着丰富解决问题的方案,还需要的便是代码的沉淀,这不仅有助于自己快速的开发程序,也有利于保证程序的健壮.那如何才能沉淀自己的”代码“呢?从自己编写util开始其实就是一个不错 ...

  5. java 日期工具类DateUtils

      日期工具类DateUtils CreateTime--2017年5月27日08:48:00Author:Marydon DateUtils.java-对日期类的进一步封装 import java. ...

  6. Java 日期工具类(日期,月份加减等)--转

    package util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.C ...

  7. java 日期工具类

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  8. java日期工具类(Long型,Date型,yyyyMMdd型)等

    import java.sql.Timestamp; import java.text.ParsePosition; import java.text.SimpleDateFormat; import ...

  9. Java 日期格式化,Java 日期工具类,Java Date工具类

    ================================ ©Copyright 蕃薯耀 2020-01-19 https://www.cnblogs.com/fanshuyao/ import ...

随机推荐

  1. 开发一个 App 有多难?说出来你可能不信!

    上图为程序员客栈儿童类视频APP 1.开发一个APP有多难?说实话,单纯地从开发来说,开发一个APP没有那么难.如果一款APP的基本功能点确定了,开发时间一般为1-2个月就完成了,费用大约5-10万的 ...

  2. 行间事件传this的问题:

    在做1个简单功能的时候,行间事件这块发现了1个问题: <!doctype html> <html> <head> <meta charset="ut ...

  3. JS 输入年份,再输入月份,弹出这个月有多少天?

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. linux--ubuntu的下载以及VMware Tool的安装

    1. Ubuntu的下载:http://cn.ubuntu.com/download/ 2. VMware Tool的安装: 第一步:在主机上,从 Workstation Pro 菜单栏中选择虚拟机 ...

  5. Python数据分析2------数据探索

    一.数据探索 数据探索的目的:及早发现数据的一些简单规律或特征 数据清洗的目的:留下可靠数据,避免脏数据的干扰. 两者没有严格的先后顺序,经常在一个阶段进行. 分为: (1)数据质量分析(跟数据清洗密 ...

  6. 利用UNIX时间戳来计算ASP的在线时间

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!DOCTYPE html PUBLIC "-/ ...

  7. pycharm 永久激活 序列码 破解版

    如今人工智能的概念相当火爆,很多想学习编程求得高薪岗位的同志纷纷学起了Python,自带的idle不够智能,推荐使用pycharm编辑运行Python程序. 然而小萌新在安装pycharm时才会意识到 ...

  8. (7)JPA - Hibernate【从零开始学Spring Boot】

    在说具体如何在spring boot 使用Hibernate前,先抛装引玉些知识点?什么是JPA呢? JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象- ...

  9. Callable与Futrue创建线程

    接口callable <V>  类型参数  V-call方法的结构类型 public interface Callable<V> 返回结果并且可能抛出的异常的任务.实现者定义一 ...

  10. html5 过程解决问题收集

    1.使用画布时报错误: Uncaught TypeError: Object [object Object] has no method 'getContext' . 解决方法: $(function ...