- 浏览: 605967 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
AlanKay:
Mart_dai 写道Hi 齐晓威_518,我想问问,在exc ...
java 后台 Excel 文件生成后转化为字节流 -
18335864773:
国内的pageoffice插件也可以生成excel。也可以用流 ...
java 后台 Excel 文件生成后转化为字节流 -
JAVA_CLASSm:
你好,请问这个还有源码吗?我刚开始接触这个,想要源码学习一下. ...
同一账号不能多地登录(限制同一账号同一时刻只能一个用户登录使用,向QQ一样) -
pangjinquan:
...
前台JS获取后台的Json数据, 动态创建table并填充数据--转自一位朋友 -
lvjun106:
这是增加删除列,,,,
JQuery自动为表格增加一列
package com.lzb.common;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
*
* 功能描述:时间操作类
*
* @author lizhenbin
*
* <p>修改历史:(修改人,修改时间,修改原因/内容)</p>
*/
public class DateUtil {
public static final Long MILI_SECOND = 1000L;
public static final Long MILI_MINUTE = MILI_SECOND * 60L;
public static final Long MILI_HOUR = MILI_MINUTE * 60L;
public static final Long MILI_DATE = MILI_HOUR * 24L;
public static final Long MILI_MONTH = MILI_DATE * 30L;
public static final Long MILI_YEAR = MILI_MONTH * 365L;
public static DateUtil instance = null;
public DateUtil() {};
public static synchronized DateUtil getInstance() {
if(instance == null)
instance = new DateUtil();
return instance;
}
/**
*
* 功能描述:获取时间的时间格式字符串
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:11:06</p>
*
* @param date 要格式化的时间
* @param formatType 格式化形式
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public String getDateByStr(Date date, String formatType) {
isDateCheck(date, formatType);
DateFormat sdf = new SimpleDateFormat(formatType);
return sdf.format(date);
}
/**
*
* 功能描述:将时间格式字符串,转换成对应的时间
*
* @author lizhenbin
* <p>创建日期 :2012-5-9 下午8:29:53</p>
*
* @param dateStr 时间格式字符串
* @param formatType 格式化类型
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date createDateByformateStr(String dateStr, String formatType) {
isDateCheck(dateStr, formatType);
DateFormat sdf = new SimpleDateFormat(formatType);
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
*
* 功能描述:将时间格式字符串转化为时间类型,只支持完整类型:(yyyy{?}MM{?}dd{?}HH{?}mm{?}ss)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午1:18:06</p>
*
* @param dateStr 时间格式字符串
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date createDateByformateStr(String dateStr) {
isDateCheck(dateStr);
List<String> symlist = new ArrayList<String>();
for(int i=0; i < dateStr.length(); i++) {
char ch = dateStr.charAt(i);
if(ch < '0' || ch > '9')
symlist.add(String.valueOf(ch));
}
StringBuffer sb = new StringBuffer();
sb.append("yyyy" + symlist.get(0) + "MM" + symlist.get(1) + "dd" + symlist.get(2) +
"HH" + symlist.get(3) + "mm" + symlist.get(4) + "ss");
DateFormat sdf = new SimpleDateFormat(sb.toString());
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
*
* 功能描述:获取时间的毫秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:09:44</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMiliSecond(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.MILLISECOND);
}
/**
*
* 功能描述:获取时间的秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:17:57</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeSecond(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.SECOND);
}
/**
*
* 功能描述:获取时间的分数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:18:52</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMinute(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.MINUTE);
}
/**
*
* 功能描述:获取时间的小时数(12小时制)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:20:17</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTime12Hour(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.HOUR);
}
/**
*
* 功能描述:获取时间的小时数(24小时制)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:23:39</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTime24Hour(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.HOUR_OF_DAY);
}
/**
*
* 功能描述:获取时间在当前星期的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:25:09</p>
*
* @param date
* @return 返回星期数,其中: 1表示星期一, ...7表示星期天
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfWeek(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
int week = calender.get(Calendar.DAY_OF_WEEK) - 1;
if(week == 0)
week = 7;
return week;
}
/**
*
* 功能描述:获取当前星期在当前月份中的第几个星期
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:26:29</p>
*
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeWeekOfMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.WEEK_OF_MONTH);
}
/**
*
* 功能描述:获取当前星期在该年中的第几个星期
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:27:42</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int geTimetWeekOfYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.WEEK_OF_YEAR);
}
/**
*
* 功能描述:获取当前时间在当月中的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:29:41</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.DAY_OF_MONTH);
}
/**
*
* 功能描述:获取当前时间在当年中的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:30:58</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.DAY_OF_YEAR);
}
/**
*
* 功能描述:获取当前月份
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:32:40</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return (calender.get(Calendar.MONTH) + 1);
}
/**
*
* 功能描述:获取当前年份
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:33:53</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.YEAR);
}
/**
*
* 功能描述:计算两个时间的差值
*
* @author lizhenbin
* <p>创建日期 :2012-5-9 下午11:50:19</p>
*
* @param basetime 基本时间
* @param targettime 目标时间
* @return 连个时间的差值,单位:毫秒
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMiliSecond(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return targettime.getTime() - basetime.getTime();
}
/**
*
* 功能描述:返回两个时间相差的秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:42:09</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeSecond(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_SECOND;
}
/**
*
* 功能描述:返回两个时间相差的分数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:46:23</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMinute(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_MINUTE;
}
/**
*
* 功能描述:获取两个时间相差的小时数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:47:05</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeHour(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_HOUR;
}
/**
*
* 功能描述:获取两个时间相差的天数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:47:50</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeDate(Date basetime, Date targettime) {
return subTimeMiliSecond(basetime, targettime)/MILI_DATE;
}
/**
*
* 功能描述:两个时间相差月数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:50:29</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMonth(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_MONTH;
}
/**
*
* 功能描述:两个时间相差年数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:51:17</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeYear(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_YEAR;
}
/**
*
* 功能描述:获取时间的后一天时间
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午10:57:18</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getNextDate(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, 1);
return calender.getTime();
}
/**
*
* 功能描述:获取时间的后面几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:09:02</p>
*
* @param date 要计算的时间
* @param discount 时间与目标时间的差值
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getNextTime(Date date, int discount) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, discount);
return calender.getTime();
}
/**
*
* 功能描述:获取前一天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:25:13</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getBeforeDate(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, -1);
return calender.getTime();
}
/**
*
* 功能描述:获取时间的前面几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:09:27</p>
*
* @param date
* @param discount
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getBeforeTime(Date date, int discount) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, -discount);
return calender.getTime();
}
// public static void main(String[] args) {
//
// DateUtil d = DateUtil.getInstance();
// System.out.println(d.getBeforeDate(new Date()));
// }
/**
*
* 功能描述:验证时间是否为空
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午1:22:29</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
private boolean isDateCheck(Date date) {
if(date==null) {
System.out.println("Usage: Input Date is Null.");
return false;
}
return true;
}
private boolean isDateCheck(String str) {
if(str==null) {
System.out.println("Usage: Input Str is Null.");
return false;
}
return true;
}
private boolean isDateCheck(Date base, Date tagert) {
if(base==null) {
System.out.println("Usage: Input Base Date is Null.");
return false;
}
if(tagert==null) {
System.out.println("Usage: Input Tagert Date is Null.");
return false;
}
return true;
}
private boolean isDateCheck(String base, String tagert) {
if(base==null) {
System.out.println("Usage: Input Base Str is Null.");
return false;
}
if(tagert==null) {
System.out.println("Usage: Input Tagert Tagert is Null.");
return false;
}
return true;
}
private boolean isDateCheck(Date date, String type) {
if(date==null) {
System.out.println("Usage: Input Date is Null.");
return false;
}
if(type==null || type.equals("")) {
System.out.println("Usage: Input Str is Null.");
return false;
}
return true;
}
}
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
*
* 功能描述:时间操作类
*
* @author lizhenbin
*
* <p>修改历史:(修改人,修改时间,修改原因/内容)</p>
*/
public class DateUtil {
public static final Long MILI_SECOND = 1000L;
public static final Long MILI_MINUTE = MILI_SECOND * 60L;
public static final Long MILI_HOUR = MILI_MINUTE * 60L;
public static final Long MILI_DATE = MILI_HOUR * 24L;
public static final Long MILI_MONTH = MILI_DATE * 30L;
public static final Long MILI_YEAR = MILI_MONTH * 365L;
public static DateUtil instance = null;
public DateUtil() {};
public static synchronized DateUtil getInstance() {
if(instance == null)
instance = new DateUtil();
return instance;
}
/**
*
* 功能描述:获取时间的时间格式字符串
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:11:06</p>
*
* @param date 要格式化的时间
* @param formatType 格式化形式
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public String getDateByStr(Date date, String formatType) {
isDateCheck(date, formatType);
DateFormat sdf = new SimpleDateFormat(formatType);
return sdf.format(date);
}
/**
*
* 功能描述:将时间格式字符串,转换成对应的时间
*
* @author lizhenbin
* <p>创建日期 :2012-5-9 下午8:29:53</p>
*
* @param dateStr 时间格式字符串
* @param formatType 格式化类型
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date createDateByformateStr(String dateStr, String formatType) {
isDateCheck(dateStr, formatType);
DateFormat sdf = new SimpleDateFormat(formatType);
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
*
* 功能描述:将时间格式字符串转化为时间类型,只支持完整类型:(yyyy{?}MM{?}dd{?}HH{?}mm{?}ss)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午1:18:06</p>
*
* @param dateStr 时间格式字符串
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date createDateByformateStr(String dateStr) {
isDateCheck(dateStr);
List<String> symlist = new ArrayList<String>();
for(int i=0; i < dateStr.length(); i++) {
char ch = dateStr.charAt(i);
if(ch < '0' || ch > '9')
symlist.add(String.valueOf(ch));
}
StringBuffer sb = new StringBuffer();
sb.append("yyyy" + symlist.get(0) + "MM" + symlist.get(1) + "dd" + symlist.get(2) +
"HH" + symlist.get(3) + "mm" + symlist.get(4) + "ss");
DateFormat sdf = new SimpleDateFormat(sb.toString());
try {
return sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
*
* 功能描述:获取时间的毫秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:09:44</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMiliSecond(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.MILLISECOND);
}
/**
*
* 功能描述:获取时间的秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:17:57</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeSecond(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.SECOND);
}
/**
*
* 功能描述:获取时间的分数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:18:52</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMinute(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.MINUTE);
}
/**
*
* 功能描述:获取时间的小时数(12小时制)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:20:17</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTime12Hour(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.HOUR);
}
/**
*
* 功能描述:获取时间的小时数(24小时制)
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:23:39</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTime24Hour(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.HOUR_OF_DAY);
}
/**
*
* 功能描述:获取时间在当前星期的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:25:09</p>
*
* @param date
* @return 返回星期数,其中: 1表示星期一, ...7表示星期天
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfWeek(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
int week = calender.get(Calendar.DAY_OF_WEEK) - 1;
if(week == 0)
week = 7;
return week;
}
/**
*
* 功能描述:获取当前星期在当前月份中的第几个星期
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:26:29</p>
*
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeWeekOfMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.WEEK_OF_MONTH);
}
/**
*
* 功能描述:获取当前星期在该年中的第几个星期
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:27:42</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int geTimetWeekOfYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.WEEK_OF_YEAR);
}
/**
*
* 功能描述:获取当前时间在当月中的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:29:41</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.DAY_OF_MONTH);
}
/**
*
* 功能描述:获取当前时间在当年中的第几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:30:58</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeDateOfYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.DAY_OF_YEAR);
}
/**
*
* 功能描述:获取当前月份
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:32:40</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getTimeMonth(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return (calender.get(Calendar.MONTH) + 1);
}
/**
*
* 功能描述:获取当前年份
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:33:53</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public int getYear(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
return calender.get(Calendar.YEAR);
}
/**
*
* 功能描述:计算两个时间的差值
*
* @author lizhenbin
* <p>创建日期 :2012-5-9 下午11:50:19</p>
*
* @param basetime 基本时间
* @param targettime 目标时间
* @return 连个时间的差值,单位:毫秒
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMiliSecond(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return targettime.getTime() - basetime.getTime();
}
/**
*
* 功能描述:返回两个时间相差的秒数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:42:09</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeSecond(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_SECOND;
}
/**
*
* 功能描述:返回两个时间相差的分数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:46:23</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMinute(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_MINUTE;
}
/**
*
* 功能描述:获取两个时间相差的小时数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:47:05</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeHour(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_HOUR;
}
/**
*
* 功能描述:获取两个时间相差的天数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:47:50</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeDate(Date basetime, Date targettime) {
return subTimeMiliSecond(basetime, targettime)/MILI_DATE;
}
/**
*
* 功能描述:两个时间相差月数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:50:29</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeMonth(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_MONTH;
}
/**
*
* 功能描述:两个时间相差年数
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午12:51:17</p>
*
* @param basetime
* @param targettime
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public long subTimeYear(Date basetime, Date targettime) {
isDateCheck(basetime, targettime);
return subTimeMiliSecond(basetime, targettime)/MILI_YEAR;
}
/**
*
* 功能描述:获取时间的后一天时间
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午10:57:18</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getNextDate(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, 1);
return calender.getTime();
}
/**
*
* 功能描述:获取时间的后面几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:09:02</p>
*
* @param date 要计算的时间
* @param discount 时间与目标时间的差值
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getNextTime(Date date, int discount) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, discount);
return calender.getTime();
}
/**
*
* 功能描述:获取前一天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:25:13</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getBeforeDate(Date date) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, -1);
return calender.getTime();
}
/**
*
* 功能描述:获取时间的前面几天
*
* @author lizhenbin
* <p>创建日期 :2012-5-31 上午11:09:27</p>
*
* @param date
* @param discount
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
public Date getBeforeTime(Date date, int discount) {
isDateCheck(date);
Calendar calender = Calendar.getInstance();
calender.setTime(date);
calender.add(calender.DATE, -discount);
return calender.getTime();
}
// public static void main(String[] args) {
//
// DateUtil d = DateUtil.getInstance();
// System.out.println(d.getBeforeDate(new Date()));
// }
/**
*
* 功能描述:验证时间是否为空
*
* @author lizhenbin
* <p>创建日期 :2012-5-10 上午1:22:29</p>
*
* @param date
* @return
*
* <p>修改历史 :(修改人,修改时间,修改原因/内容)</p>
*/
private boolean isDateCheck(Date date) {
if(date==null) {
System.out.println("Usage: Input Date is Null.");
return false;
}
return true;
}
private boolean isDateCheck(String str) {
if(str==null) {
System.out.println("Usage: Input Str is Null.");
return false;
}
return true;
}
private boolean isDateCheck(Date base, Date tagert) {
if(base==null) {
System.out.println("Usage: Input Base Date is Null.");
return false;
}
if(tagert==null) {
System.out.println("Usage: Input Tagert Date is Null.");
return false;
}
return true;
}
private boolean isDateCheck(String base, String tagert) {
if(base==null) {
System.out.println("Usage: Input Base Str is Null.");
return false;
}
if(tagert==null) {
System.out.println("Usage: Input Tagert Tagert is Null.");
return false;
}
return true;
}
private boolean isDateCheck(Date date, String type) {
if(date==null) {
System.out.println("Usage: Input Date is Null.");
return false;
}
if(type==null || type.equals("")) {
System.out.println("Usage: Input Str is Null.");
return false;
}
return true;
}
}
发表评论
-
诊断Java代码中常见的数据库性能热点问题
2016-09-01 11:49 575当我在帮助一些开发 ... -
同一账号不能多地登录(限制同一账号同一时刻只能一个用户登录使用,向QQ一样)
2014-12-30 11:36 9124解决四个问题: 1. 实现 ... -
java 将汉字转换为全拼及返回中文的首字母-带JAR包
2014-12-22 15:59 881import net.sourceforge.pinyin4 ... -
JSON中,java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
2014-09-07 16:31 1194使用JSON,在SERVLET或者STRUTS的ACTION ... -
java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
2014-08-23 09:00 716package util; import java. ... -
Java中sleep()与wait()的区别
2014-08-23 08:58 448一种解释: 功能差不 ... -
Java关键字final、static使用总结
2014-07-31 21:43 379一、final 根据程序上下文环境,Java关 ... -
Java 泛型 .
2014-07-02 23:17 693class Person{ private String n ... -
HashMap<String,HashMap<String,String>> 的多级映射 .
2014-07-02 23:13 1588package namespace;import java.u ... -
synchronized 和ThreadLocal 区别
2014-05-14 22:03 1127看了N个贴子,ThreadLocal讲得都不是很清楚,纠缠与 ... -
JAVA 常用加密方法
2014-05-10 18:45 10301.Base64 加密:org.apache.common ... -
Java二维数组的声明和初始化
2014-03-18 22:39 30031.二维数组可以看成以数组为元素的数组; 2.Java中二维数 ... -
POI操作Excel常用方法总结
2014-03-10 21:29 945一、POI简介 Apache POI是Apac ... -
JAVA垃圾回收机制,如何优化程序
2014-02-12 12:15 994虽然程序员无法控制JVM的垃圾回收机制。但是可以通过编程的手段 ... -
HTTPClient PostMethod 中文乱码问题解决方案(2种)
2014-02-20 21:28 2315不过在实际使用中, 还是发现按照最基本的方式调用 Http ... -
List,set,Map 的用法和区别
2014-02-09 15:23 826Collection├List│├LinkedList│├Ar ... -
Object转Map Map->list array->list list->Map
2013-12-18 21:31 632Map map1= new HashMap(); map ... -
java List 排序 Collections.sort() 对 List 排序
2013-12-19 22:20 871//一个POJO例子class User { String ... -
SSH框架中使用log4j的方便之处
2013-12-14 13:39 711SSH框架中使用log4j的方便之处 1. 动态的改变记 ... -
无序hashset与hashmap让其有序
2013-12-14 13:39 3382今天迭代hashmap时,hashmap并不能按照put的 ...
相关推荐
java中常用的时间操作;如日期,时间戳,日历,字符串相互转化;时间差等常用日期功能。
我自己写的一个时间组建,主要是计算两个时间段之间的相隔时间 和一个时间与现在时间之间的时间差....
Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....
JAVA中的时间操作
Java DateHandler时间操作类代码,进行多种日期时间操作的时候用得上的一个类。比如getWorkDay函数,可用来计算员工的工作天数,如在使用期和离职期该月份的工作日 * 输入(离职日期,-1)可得该月工作天数 时间...
日期操作类 Long转日期 字符串毫秒转日期 格式化日期转换方法,年 月 日 时 分 秒 把格式化的日期补全 把格式化的日期转化为毫秒 获取当天凌晨,夜间整点时间毫秒 校验日期是否合法 得到n天之后的日期 得到n天之后是...
本人在项目开发中遇到的关于时间的操作,各位可以直接下载做工具类用
[工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...
[工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...
与大家分享一个功能丰富的Java文件操作类,类中封装了一些常用的文件操作,大部分涉及文件的修改、内容替换等。类中的方法都是静态方法,不需要生成此类的实例, 为避免生成此类的实例,构造方法被申明为private类型...
Java对时间进行操作的工具类,包括各种时间格式转化的方法以及一些时间比较登方法。
Java 时间工具类详解,主要包含了对时间操作的一些工具方法!将日期对象按照某种格式进行转换,将传入的日期对象按照yyyy-MM-dd格式转换成字符串返回,将插入的字符串按格式转换成对应的日期对象
Elasticsearch的JAVA操作工具类,包括增删改查的封装,Elasticsearch的JAVA操作工具类,包括增删改查的封装
统一接口平台[JAVA] 用于时间的各种操作的java类,可以作为自己收藏,里面含有各种时间操作,绝对好用
java时间操作工具类,已封装好,包含获取某一时间的年,月,日,星期。以及对某一时间进行年,月,日,周的加减。还有获取某一时间年,月,日,周的起始和结束时间等等
详细介绍了Java8日期时间相关的api,列举了一些常用的方法,包含java.time、java.time.temporal、java.time.format包下的类和接口操作
4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端simpleServer 6.[工具类] 使用Java程序来实现HTTP文件的队列下载 .java 7.[工具类] 文件操作工具类 .java 8.[工具类] 序列化保存为XML文件的工具类 .java 9....
NULL 博文链接:https://liu-jason.iteye.com/blog/1130442
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
主要为大家详细介绍了java日期时间操作工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下