package com.common.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateUtils {
private StringBuffer buffer = new StringBuffer();
private static String ZERO = "0";
private static DateUtils date;
public static SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
public static SimpleDateFormat format1 = new SimpleDateFormat(
"yyyyMMdd HH:mm:ss");
public static SimpleDateFormat common_format = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"); public String getNowString() {
Calendar calendar = getCalendar();
buffer.delete(0, buffer.capacity());
buffer.append(getYear(calendar)); if (getMonth(calendar) < 10) {
buffer.append(ZERO);
}
buffer.append(getMonth(calendar)); if (getDate(calendar) < 10) {
buffer.append(ZERO);
}
buffer.append(getDate(calendar));
if (getHour(calendar) < 10) {
buffer.append(ZERO);
}
buffer.append(getHour(calendar));
if (getMinute(calendar) < 10) {
buffer.append(ZERO);
}
buffer.append(getMinute(calendar));
if (getSecond(calendar) < 10) {
buffer.append(ZERO);
}
buffer.append(getSecond(calendar));
return buffer.toString();
} private static int getDateField(Date date, int field) {
Calendar c = getCalendar();
c.setTime(date);
return c.get(field);
} public static int getYearsBetweenDate(Date begin, Date end) {
int bYear = getDateField(begin, Calendar.YEAR);
int eYear = getDateField(end, Calendar.YEAR);
return eYear - bYear;
} public static int getMonthsBetweenDate(Date begin, Date end) {
int bMonth = getDateField(begin, Calendar.MONTH);
int eMonth = getDateField(end, Calendar.MONTH);
return eMonth - bMonth;
} public static int getWeeksBetweenDate(Date begin, Date end) {
int bWeek = getDateField(begin, Calendar.WEEK_OF_YEAR);
int eWeek = getDateField(end, Calendar.WEEK_OF_YEAR);
return eWeek - bWeek;
} public static int getDaysBetweenDate(Date begin, Date end) {
return (int) ((end.getTime()-begin.getTime())/(1000 * 60 * 60 * 24));
} public static void main(String args[]) {
System.out.println(getSpecficMonthStart(Calendar.getInstance().getTime(), 0));
} /**
* 获取date年后的amount年的第一天的开始时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficYearStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.YEAR, amount);
cal.set(Calendar.DAY_OF_YEAR, 1);
return getStartDate(cal.getTime());
} /**
* 获取date年后的amount年的最后一天的终止时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficYearEnd(Date date, int amount) {
Date temp = getStartDate(getSpecficYearStart(date, amount + 1));
Calendar cal = Calendar.getInstance();
cal.setTime(temp);
cal.add(Calendar.DAY_OF_YEAR, -1);
return getFinallyDate(cal.getTime());
} /**
* 获取date月后的amount月的第一天的开始时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficMonthStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, amount);
cal.set(Calendar.DAY_OF_MONTH, 1);
return getStartDate(cal.getTime());
} /**
* 获取当前自然月后的amount月的最后一天的终止时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficMonthEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(getSpecficMonthStart(date, amount + 1));
cal.add(Calendar.DAY_OF_YEAR, -1);
return getFinallyDate(cal.getTime());
} /**
* 获取date周后的第amount周的开始时间(这里星期一为一周的开始)
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficWeekStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.setFirstDayOfWeek(Calendar.MONDAY); /* 设置一周的第一天为星期一 */
cal.add(Calendar.WEEK_OF_MONTH, amount);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
return getStartDate(cal.getTime());
} /**
* 获取date周后的第amount周的最后时间(这里星期日为一周的最后一天)
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficWeekEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY); /* 设置一周的第一天为星期一 */
cal.add(Calendar.WEEK_OF_MONTH, amount);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return getFinallyDate(cal.getTime());
} public static Date getSpecficDateStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, amount);
return getStartDate(cal.getTime());
} public static Date getSpecficDateEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, amount);
return getFinallyDate(cal.getTime());
} /**
* 得到指定日期的一天的的最后时刻23:59:59
*
* @param date
* @return
*/
public static Date getFinallyDate(Date date) {
String temp = format.format(date);
temp += " 23:59:59"; try {
return format1.parse(temp);
} catch (ParseException e) {
return null;
}
} /**
* 得到指定日期的一天的的最后时刻23:59:59
*
* @param date
* @return
*/
public static String getFinallyDateStr(Date date) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String temp = format.format(date);
temp += " 23:59:59"; try {
return temp;
} catch (Exception e) {
return temp;
}
} /**
* 得到指定日期的一天的开始时刻00:00:00
*
* @param date
* @return
*/
public static Date getStartDate(Date date) {
String temp = format.format(date);
temp += " 00:00:00"; try {
return format1.parse(temp);
} catch (Exception e) {
return null;
}
} /**
* 得到指定日期的一天的开始时刻00:00:00
*
* @param date
* @return
*/
public static String getStartDateStr(Date date) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String temp = format.format(date);
temp += " 00:00:00"; try {
return temp;
} catch (Exception e) {
return temp;
}
} /**
*
* @param date
* 指定比较日期
* @param compareDate
* @return
*/
public static boolean isInDate(Date date, Date compareDate) {
if (compareDate.after(getStartDate(date))
&& compareDate.before(getFinallyDate(date))) {
return true;
} else {
return false;
} } /**
* 获取两个时间的差值秒
* @param d1
* @param d2
* @return
*/
public static Integer getSecondBetweenDate(Date d1,Date d2){
Long second=(d2.getTime()-d1.getTime())/1000;
return second.intValue();
} private int getYear(Calendar calendar) {
return calendar.get(Calendar.YEAR);
} private int getMonth(Calendar calendar) {
return calendar.get(Calendar.MONDAY) + 1;
} private int getDate(Calendar calendar) {
return calendar.get(Calendar.DATE);
} private int getHour(Calendar calendar) {
return calendar.get(Calendar.HOUR_OF_DAY);
} private int getMinute(Calendar calendar) {
return calendar.get(Calendar.MINUTE);
} private int getSecond(Calendar calendar) {
return calendar.get(Calendar.SECOND);
} private static Calendar getCalendar() {
return Calendar.getInstance();
} public static DateUtils getDateInstance() {
if (date == null) {
date = new DateUtils();
}
return date;
}
}

  

package com.jetcms.common.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* @author hzp
*/
public class DateUtils {
private StringBuffer buffer = new StringBuffer();
private static String ZERO = "0";
private static DateUtils date;
public static SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
public static SimpleDateFormat format1 = new SimpleDateFormat(
"yyyyMMdd HH:mm:ss");
public static SimpleDateFormat common_format = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"); public String getNowString() {
Calendar calendar = getCalendar();
buffer.delete(, buffer.capacity());
buffer.append(getYear(calendar)); if (getMonth(calendar) < ) {
buffer.append(ZERO);
}
buffer.append(getMonth(calendar)); if (getDate(calendar) < ) {
buffer.append(ZERO);
}
buffer.append(getDate(calendar));
if (getHour(calendar) < ) {
buffer.append(ZERO);
}
buffer.append(getHour(calendar));
if (getMinute(calendar) < ) {
buffer.append(ZERO);
}
buffer.append(getMinute(calendar));
if (getSecond(calendar) < ) {
buffer.append(ZERO);
}
buffer.append(getSecond(calendar));
return buffer.toString();
} private static int getDateField(Date date, int field) {
Calendar c = getCalendar();
c.setTime(date);
return c.get(field);
} public static int getYearsBetweenDate(Date begin, Date end) {
int bYear = getDateField(begin, Calendar.YEAR);
int eYear = getDateField(end, Calendar.YEAR);
return eYear - bYear;
} public static int getMonthsBetweenDate(Date begin, Date end) {
int bMonth = getDateField(begin, Calendar.MONTH);
int eMonth = getDateField(end, Calendar.MONTH);
return eMonth - bMonth;
} public static int getWeeksBetweenDate(Date begin, Date end) {
int bWeek = getDateField(begin, Calendar.WEEK_OF_YEAR);
int eWeek = getDateField(end, Calendar.WEEK_OF_YEAR);
return eWeek - bWeek;
} public static int getDaysBetweenDate(Date begin, Date end) {
return (int) ((end.getTime()-begin.getTime())/(1000 * 60 * 60 * ));
} public static void main(String args[]) {
System.out.println(getSpecficMonthStart(Calendar.getInstance().getTime(), ));
} /**
* 获取date年后的amount年的第一天的开始时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficYearStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.YEAR, amount);
cal.set(Calendar.DAY_OF_YEAR, );
return getStartDate(cal.getTime());
} /**
* 获取date年后的amount年的最后一天的终止时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficYearEnd(Date date, int amount) {
Date temp = getStartDate(getSpecficYearStart(date, amount + ));
Calendar cal = Calendar.getInstance();
cal.setTime(temp);
cal.add(Calendar.DAY_OF_YEAR, -);
return getFinallyDate(cal.getTime());
} /**
* 获取date月后的amount月的第一天的开始时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficMonthStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, amount);
cal.set(Calendar.DAY_OF_MONTH, );
return getStartDate(cal.getTime());
} /**
* 获取当前自然月后的amount月的最后一天的终止时间
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficMonthEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(getSpecficMonthStart(date, amount + ));
cal.add(Calendar.DAY_OF_YEAR, -);
return getFinallyDate(cal.getTime());
} /**
* 获取date周后的第amount周的开始时间(这里星期一为一周的开始)
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficWeekStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.setFirstDayOfWeek(Calendar.MONDAY); /* 设置一周的第一天为星期一 */
cal.add(Calendar.WEEK_OF_MONTH, amount);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
return getStartDate(cal.getTime());
} /**
* 获取date周后的第amount周的最后时间(这里星期日为一周的最后一天)
*
* @param amount
* 可正、可负
* @return
*/
public static Date getSpecficWeekEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY); /* 设置一周的第一天为星期一 */
cal.add(Calendar.WEEK_OF_MONTH, amount);
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
return getFinallyDate(cal.getTime());
} public static Date getSpecficDateStart(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, amount);
return getStartDate(cal.getTime());
} public static Date getSpecficDateEnd(Date date, int amount) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, amount);
return getFinallyDate(cal.getTime());
} /**
* 得到指定日期的一天的的最后时刻23:59:59
*
* @param date
* @return
*/
public static Date getFinallyDate(Date date) {
String temp = format.format(date);
temp += " 23:59:59"; try {
return format1.parse(temp);
} catch (ParseException e) {
return null;
}
} /**
* 得到指定日期的一天的的最后时刻23:59:59
*
* @param date
* @return
*/
public static String getFinallyDateStr(Date date) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String temp = format.format(date);
temp += " 23:59:59"; try {
return temp;
} catch (Exception e) {
return temp;
}
} /**
* 得到指定日期的一天的开始时刻00:00:00
*
* @param date
* @return
*/
public static Date getStartDate(Date date) {
String temp = format.format(date);
temp += " 00:00:00"; try {
return format1.parse(temp);
} catch (Exception e) {
return null;
}
} /**
* 得到指定日期的一天的开始时刻00:00:00
*
* @param date
* @return
*/
public static String getStartDateStr(Date date) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String temp = format.format(date);
temp += " 00:00:00"; try {
return temp;
} catch (Exception e) {
return temp;
}
} /**
*
* @param date
* 指定比较日期
* @param compareDate
* @return
*/
public static boolean isInDate(Date date, Date compareDate) {
if (compareDate.after(getStartDate(date))
&& compareDate.before(getFinallyDate(date))) {
return true;
} else {
return false;
} } /**
* 获取两个时间的差值秒
* @param d1
* @param d2
* @return
*/
public static Integer getSecondBetweenDate(Date d1,Date d2){
Long second=(d2.getTime()-d1.getTime())/;
return second.intValue();
} private int getYear(Calendar calendar) {
return calendar.get(Calendar.YEAR);
} private int getMonth(Calendar calendar) {
return calendar.get(Calendar.MONDAY) + ;
} private int getDate(Calendar calendar) {
return calendar.get(Calendar.DATE);
} private int getHour(Calendar calendar) {
return calendar.get(Calendar.HOUR_OF_DAY);
} private int getMinute(Calendar calendar) {
return calendar.get(Calendar.MINUTE);
} private int getSecond(Calendar calendar) {
return calendar.get(Calendar.SECOND);
} private static Calendar getCalendar() {
return Calendar.getInstance();
} public static DateUtils getDateInstance() {
if (date == null) {
date = new DateUtils();
}
return date;
}
}

JAVA时间Date工具类的更多相关文章

  1. java时间处理工具类--DateUtils

    package com.hexiang.utils; /** * @(#)DateUtil.java * * * @author kidd * @version 1.00 2007/8/8 */ im ...

  2. Java中Date类型如何向前向后滚动时间,( 附工具类)

    Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...

  3. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  4. [java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

  5. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

  6. HttpTool.java(在java tool util工具类中已存在) 暂保留

    HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

  7. java格式处理工具类

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  8. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  9. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

随机推荐

  1. Leetcode | 组目录

    数组 [1]999. 车的可用捕获量 [2]989. 数组形式的整数加法

  2. C# 深拷贝对象实现

    public class DeepCopyHelper { //三种深拷贝方法 public static T DeepCopyByReflect<T>(T obj) { //如果是字符串 ...

  3. C#学习-多态

    由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,子类需要覆写父类中的方法来实现子类特有的行为. 多态即相同类型的对象调用相同的方法却表现出不同行为的现象. 只有 ...

  4. Java Web环境搭建

    ——————————JavaWeb环境搭建 先下载JDK, Tomcat 7.0 安装JDK后,配置环境变量,此处可参考博客: https://www.cnblogs.com/smyhvae/p/37 ...

  5. beta冲刺2/7

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(2/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 做了点商家数据表格 接下来的计划 做 ...

  6. 一起学Python——数据类型详解

    和学习其他编程语言一样,首先要了解一门语言的数据类型. Python的数据类型有整型.浮点型.字符串.布尔型.日期时间类型.list列表.set集合.tuple元组.dict词典等. 1.整型 就是数 ...

  7. Centos系统中彻底删除Mysql数据库

    步骤: 1.输入命令查询系统中已安装的mysql. rpm -qa |grep -i mysql 2.逐个卸载mysql. yum remove 系统显示已安装的mysql 比如:yum remove ...

  8. 查看CentOS版本信息

    今天小编将给大家详细讲解查看CentOS版本信息的命令. (一) 查看已经安装的CentOS版本信息 1.cat /etc/issue 查看版本 cat  缩写concatenate  cat命令可以 ...

  9. HTTP简述

    参考链接: https://www.cnblogs.com/XJJD/p/7674007.html HTTP的请求类型:GET.POST的区别? 一般在浏览器中输入网址访问资源都是通过GET方式:在F ...

  10. Selenium的webdriver的常用方法,鼠标事件

    就来认识 WebDriver 中最常用的几个方法: get():跳转到的地址clear(): 清除文本. send_keys (value): 模拟按键输入. click(): 单击元素. 示例: f ...