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. C# .Net 中字典Dictionary<TKey,TValue>泛型类 学习浅谈

    一.综述: Dictionary<TKey,TValue>是在 .NET Framework 2.0 版中是新增的.表示键值对的集合,Dictionary<TKey,TValue&g ...

  2. Maven mvn install 本地jar添加到本地maven仓库中

    mvn install:install-file -DgroupId=alipay -DartifactId=taobao-sdk-java-auto -Dversion=1.0 -Dpackagin ...

  3. 数据库链接池c3p0的配置

    由于我看的是远古教程,所以里面各种驱动jar包还有c3p0包都是远古版本,对于最新版本的jdbc已经失去的作用,所以我在这里重写一下! 1.首先是c3p0的位置,package的外面,src的里面 2 ...

  4. ABP给WebApi添加性能分析组件Miniprofiler

    在ABP的WebApi中,对其性能进行分析监测是很有必要的.而悲剧的是,MVC项目中可以使用的MiniProfiler或Glimpse等,这些都不支持WebApi项目,而且WebApi项目通常也没有界 ...

  5. Scala变量| 流程控制

    Scala 是 Scalable Language 的简写,是一门多范式(编程的方式)的编程语言 Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的 ...

  6. coolSQL安装与使用

    由于笔者最近支援其他项目,所使用的数据库为informix 所以安装一个coolSQL客户端方便些,当然命令行方式也可以,但是感觉不太友好,下面把安装与简单使用过程分享给大家. 一.下载coolSQL ...

  7. 动态规划——Valid Permutations for DI Sequence

    We are given S, a length n string of characters from the set {'D', 'I'}. (These letters stand for &q ...

  8. [CF542A]Place Your Ad Here

    [CF542A]Place Your Ad Here 题目大意: 有\(n(n\le2\times10^5)\)个广告和\(m(m\le2\times10^5)\)个电视台,第\(i\)个广告只能在\ ...

  9. [PA2014]Parking

    [PA2014]Parking 题目大意: 停车场是一个宽度为\(w(w\le10^9)\)的矩形.我们以其左下角顶点为原点,坐标轴平行于矩形的边,建立直角坐标系.停车场很长,我们可以认为它一直向右边 ...

  10. C# - 什么是事件绑定?

    今天在学习C#时碰到了一个新词:“绑定事件”,不知道是什么东西? 请各位C#前辈指点!!!