package com.cn.commoms;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class DateUtil {
protected static Log logger = LogFactory.getLog(DateUtil.class);
/** 格式:年-月-日 小时:分钟:秒 **/
public static final String FORMAT_ONE = "yyyy-MM-dd HH:mm:ss";
/** 格式:年-月-日 小时:分钟 **/
public static final String FORMAT_TWO = "yyyy-MM-dd HH:mm";
/** 格式:年月日 小时分钟秒 **/
public static final String FORMAT_THREE = "yyyyMMdd-HHmmss";
/** 格式:年-月-日 **/
public static final String LONG_DATE_FORMAT = "yyyy-MM-dd";
/** 格式:月-日 **/
public static final String SHORT_DATE_FORMAT = "MM-dd";
/** 格式:小时:分钟:秒 **/
public static final String LONG_TIME_FORMAT = "HH:mm:ss";
/** yyyyMMddHHmmss 紧凑类型 **/
public static final String LONG_DATE_COMPACT_FORMAT = "yyyyMMddHHmmss" ;
// 年的加减
public static final int SUB_YEAR = Calendar.YEAR;
// 月加减
public static final int SUB_MONTH = Calendar.MONTH;
// 天的加减
public static final int SUB_DAY = Calendar.DATE;
// 小时的加减
public static final int SUB_HOUR = Calendar.HOUR;
// 分钟的加减
public static final int SUB_MINUTE = Calendar.MINUTE;
// 秒的加减
public static final int SUB_SECOND = Calendar.SECOND;
// 用来全局控制 上一周,本周,下一周的周数变化
private int weeks = 0;
private int MaxDate;// 一月最大天数
private int MaxYear;// 一年最大天数
public DateUtil() {
}
/**
* 把符合日期格式的字符串转换为日期类型
*
* @param dateStr
* @return
*/
public static java.util.Date StringtoDate(String dateStr, String format) {
Date d = null;
SimpleDateFormat formater = new SimpleDateFormat(format);
try {
formater.setLenient(false);
d = formater.parse(dateStr);
} catch (Exception e) {
// log.error(e);
d = null;
}
return d;
}
/**
* 把符合日期格式的字符串转换为日期类型
*/
public static java.util.Date StringtoDate(String dateStr, String format,
ParsePosition pos) {
Date d = null;
SimpleDateFormat formater = new SimpleDateFormat(format);
try {
formater.setLenient(false);
d = formater.parse(dateStr, pos);
} catch (Exception e) {
// log.error(e);
d = null;
}
return d;
}
/**
* 把日期转换为字符串
*
* @param date
* @return
*/
public static String DateToString(java.util.Date date, String format) {
String result = "";
SimpleDateFormat formater = new SimpleDateFormat(format);
try {
result = formater.format(date);
} catch (Exception e) {
// log.error(e);
}
return result;
}
/**
* 获取当前时间的指定格式
*
* @param format
* @return
*/
public static String getCurrDate(String format) {
return DateToString(new Date(), format);
}
/**
*
* @param dateStr
* @param amount
* @return
*/
public static String DateSub(int dateKind, String dateStr, int amount) {
Date date = StringtoDate(dateStr, FORMAT_ONE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(dateKind, amount);
return DateToString(calendar.getTime(), FORMAT_ONE);
}
/**
* 两个日期相减
*
* @param firstTime
* @param secTime
* @return 相减得到的秒数
*/
public static long TimeSub(String firstTime, String secTime) {
long first = StringtoDate(firstTime, FORMAT_ONE).getTime();
long second = StringtoDate(secTime, FORMAT_ONE).getTime();
return (second - first) / 1000;
}
/**
* 获得某月的天数
*
* @param year
* int
* @param month
* int
* @return int
*/
public static int getDaysOfMonth(String year, String month) {
int days = 0;
if (month.equals("1") || month.equals("3") || month.equals("5")
|| month.equals("7") || month.equals("8") || month.equals("10")
|| month.equals("12")) {
days = 31;
} else if (month.equals("4") || month.equals("6") || month.equals("9")
|| month.equals("11")) {
days = 30;
} else {
if ((Integer.parseInt(year) % 4 == 0 && Integer.parseInt(year) % 100 != 0)
|| Integer.parseInt(year) % 400 == 0) {
days = 29;
} else {
days = 28;
}
}
return days;
}
/**
* 获取某年某月的天数
*
* @param year
* int
* @param month
* int 月份[1-12]
* @return int
*/
public static int getDaysOfMonth(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1);
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
/**
* 获得当前日期
*
* @return int
*/
public static int getToday() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.DATE);
}
/**
* 获得当前月份
*
* @return int
*/
public static int getToMonth() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.MONTH) + 1;
}
/**
* 获得当前年份
*
* @return int
*/
public static int getToYear() {
Calendar calendar = Calendar.getInstance();
return calendar.get(Calendar.YEAR);
}
/**
* 返回日期的天
*
* @param date
* Date
* @return int
*/
public static int getDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DATE);
}
/**
* 返回日期的年
*
* @param date
* Date
* @return int
*/
public static int getYear(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.YEAR);
}
/**
* 返回日期的月份,1-12
*
* @param date
* Date
* @return int
*/
public static int getMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MONTH) + 1;
}
/**
* 计算两个日期相差的天数,如果date2 > date1 返回正数,否则返回负数
*
* @param date1
* Date
* @param date2
* Date
* @return long
*/
public static long dayDiff(Date date1, Date date2) {
return (date2.getTime() - date1.getTime()) / 86400000;
}
/**
* 比较两个日期的年差
*
* @param befor
* @param after
* @return
*/
public static int yearDiff(String before, String after) {
Date beforeDay = StringtoDate(before, LONG_DATE_FORMAT);
Date afterDay = StringtoDate(after, LONG_DATE_FORMAT);
return getYear(afterDay) - getYear(beforeDay);
}
/**
* 比较指定日期与当前日期的差
*
* @param befor
* @param after
* @return
*/
public static int yearDiffCurr(String after) {
Date beforeDay = new Date();
Date afterDay = StringtoDate(after, LONG_DATE_FORMAT);
return getYear(beforeDay) - getYear(afterDay);
}
public static int getFirstWeekdayOfMonth(int year, int month) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.SATURDAY); // 星期天为第一天
c.set(year, month - 1, 1);
return c.get(Calendar.DAY_OF_WEEK);
}
public static int getLastWeekdayOfMonth(int year, int month) {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.SATURDAY); // 星期天为第一天
c.set(year, month - 1, getDaysOfMonth(year, month));
return c.get(Calendar.DAY_OF_WEEK);
}
/**
* 获得当前日期字符�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
mysh.rar (86个子文件)
mysh
.project 1KB
webapp
WEB-INF
classes
lib
servlet-api.jar 173KB
json-lib-2.4.jar 155KB
spring-test-3.2.0.RELEASE.jar 441KB
hibernate-commons-annotations.jar 65KB
commons-fileupload-1.3.1.jar 67KB
spring-context-support-3.2.0.RELEASE.jar 124KB
commons-beanutils-1.8.3.jar 227KB
dom4j-1.6.1.jar 307KB
spring-instrument-3.2.0.RELEASE.jar 7KB
spring-expression-3.2.0.RELEASE.jar 189KB
ezmorph-1.0.6.jar 84KB
jackson-databind-2.3.1.jar 893KB
spring-beans-3.2.0.RELEASE.jar 591KB
spring-core-3.2.0.RELEASE.jar 843KB
jstl-1.2.jar 405KB
jackson-annotations-2.3.0.jar 34KB
mysql-connector-java-5.1.21-bin.jar 809KB
jsp-api-2.1.jar 98KB
commons-dbcp-1.4.jar 157KB
spring-context-3.2.0.RELEASE.jar 834KB
spring-orm-3.2.0.RELEASE.jar 383KB
commons-logging-1.1.1.jar 59KB
hibernate-core.jar 2.16MB
log4j-1.2.17.jar 478KB
spring-web-3.2.0.RELEASE.jar 610KB
antlr-2.7.6.jar 433KB
spring-webmvc-3.2.0.RELEASE.jar 621KB
commons-collections-3.1.jar 546KB
slf4j-api-1.7.2.jar 25KB
spring-webmvc-portlet-3.2.0.RELEASE.jar 184KB
aspectjweaver.jar 1.67MB
spring-aop-3.2.0.RELEASE.jar 327KB
ejb3-persistence.jar 49KB
aopalliance-1.0.jar 4KB
aspectjrt.jar 113KB
hibernate-annotations.jar 273KB
jackson-core-2.4.1.jar 220KB
spring-instrument-tomcat-3.2.0.RELEASE.jar 10KB
servlet-api-2.5.jar 103KB
commons.service.tools.util-2.0.0-SNAPSHOT.jar 98KB
slf4j-log4j12-1.7.2.jar 9KB
commons-pool-1.6.jar 109KB
jta-1.1.jar 11KB
spring-jdbc-3.2.0.RELEASE.jar 392KB
spring-aspects-3.2.0.RELEASE.jar 68KB
commons-lang-2.6.jar 278KB
spring-tx-3.2.0.RELEASE.jar 235KB
javassist-3.12.0.GA.jar 618KB
web.xml 3KB
views
jsp
show.jsp 5KB
test.jsp 278B
index.jsp 398B
META-INF
MANIFEST.MF 39B
static
images
1.png 36KB
js
jquery-1.8.2.js 259KB
commons
pagination
pagination.css 526B
jquery.pagination.js 8KB
src
com
cn
commoms
IsDel.java 1KB
HqlResultUtil.java 455B
Page.java 543B
PageUtil.java 488B
StringUtil.java 25KB
PropertiesUtil.java 2KB
ReadMapper.java 3KB
RequestUtil.java 9KB
DateUtil.java 32KB
BaseDao.java 5KB
demo
service
impl
MemberServiceImpl.java 862B
MemberService.java 296B
controller
MemberController.java 2KB
bean
Member.java 1KB
test
BatchSave.java 974B
resources
mysql
user-mapper.xml 182B
config
spring-mvc-servlet.xml 1KB
applicationContext.xml 3KB
prop
jdbc.properties 167B
log4j.properties 2KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 305B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 469B
.jsdtscope 499B
mysh 4B
.classpath 4KB
共 86 条
- 1
资源评论
qq_32907557
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三次样条插值在C语言如何实现步骤介绍.docx
- SD6084电流模式同步降压转换器固定频率1.5MHz二极管封装SOT23-5
- NokoPrint-wifi蓝牙USB连接打印机[安卓免费App]
- 20211115aMmF9NbS.zip
- 解线性方程组-直接解法:(Gauss)高斯消去法、列主元、全主元 - 北太天元
- MapReduce单词统计 hadoop集群
- 深度学习源码神经网络新闻分类多分类问题ipynb源码带数据集
- 深度学习源码神经网络用预训练的卷积神经网络ipynb源码带数据集
- 深度学习源码神经网络使用词嵌入ipynb源码带数据集
- 深度学习源码神经网络使用LSTM生成文本ipynb源码带数据集
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功