package rjqx.utils;
import java.text.DateFormat;
import java.text.ParseException;
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 DateUtils {
protected static Log logger = LogFactory.getLog(DateUtils.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 DateUtils() {
}
/**
* 把符合日期格式的字符串转换为日期类型
*
* @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) {
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);
}
/**
* 两个日期相减
* secTime-firstTime
* @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;
}
/**
* 计算与当前日期相差秒数
* strtTime-now
* @param firstTime
* @param secTime
* @return 相减得到的秒数
*/
public static long TimeSubNow(String strtTime) {
long first = StringtoDate(strtTime, FORMAT_ONE).getTime();
long second = new Date().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,
没有合适的资源?快使用搜索试试~ 我知道了~
ssm_083_mysql_软件缺陷管理系统_.zip
共1151个文件
js:422个
html:306个
css:124个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 176 浏览量
2024-08-09
21:28:34
上传
评论
收藏 12.86MB ZIP 举报
温馨提示
随着科学信息技术不断的发展,各行各业中处处融入了计算机技术,由计算机技术衍生的产品对各个企业、各个领域都带来了极大的好处。本文就着眼于计算机技术与软件缺陷管理系统的融合发展为各个企业所带来的便利进行研究。利用计算机技术所开发出的软件项目,在整个运行过程中,软件维护以及项目修复是非常重要的。软件的质量的整体情况影响着整个企业的发展,那么为了提高软件的质量,重点就是跟踪、记录并解决软件的缺陷。 如今互联网平台的开发技术已经特别成熟了,在前人的基础上,进行下一步的创新,由此基于解决软件缺陷产生时所带来的危害而开发的缺陷管理系统,在SSM计算机技术的研究的基础上进行开发,那么本系统所采用的技术就是Spring、Spring MVC和MyBatis框架整合实现后台管理功能的实现,然后利用MySQL数据库进行数据存储。设计出一个及时对缺陷进行跟踪、缺陷管理、度量等功能的基于SSM的软件缺陷管理系统,帮助企业及时找到软件缺陷并找到方案进行解决。
资源推荐
资源详情
资源评论
收起资源包目录
ssm_083_mysql_软件缺陷管理系统_.zip (1151个子文件)
AUTHORS 6KB
DateUtils.class 21KB
ExcelUtil.class 17KB
AllExceptionHandler.class 14KB
UsersEntity.class 8KB
PageUtil.class 7KB
ProjectDefectEntity.class 6KB
ProjectDefectSolutionEntity.class 6KB
CommonEntity.class 5KB
ProjectEntity.class 5KB
ResponseResult.class 4KB
ResponseStatus.class 4KB
LoginLogsEntity.class 4KB
ProjectDefectController.class 4KB
ProjectController.class 4KB
PageData.class 4KB
ProjectDefectSolutionController.class 3KB
MVCInterceptor.class 3KB
ProjectDefectSolutionServiceImpl.class 3KB
ProjectDefectServiceImpl.class 3KB
User.class 3KB
UsersServiceImpl.class 3KB
ProjectServiceImpl.class 3KB
LoginLogsServiceImpl.class 3KB
LoginController.class 3KB
LoginLogsController.class 3KB
UsersController.class 3KB
SwaggerConfig.class 2KB
LogAopAspect.class 2KB
ResponseResult$ResponseResultBuilder.class 2KB
BusinessException.class 2KB
CorsConfig.class 1KB
LoggerUtil.class 1KB
NetworkUtil.class 1KB
JacksonConfig.class 1KB
LoginServiceImpl.class 777B
ProjectDefectSolutionService.class 766B
ProjectDefectService.class 686B
LoginLogsService.class 646B
HttpClientConnectionException.class 643B
IllegalParameterException.class 639B
InternalServerErrorException.class 629B
ProjectService.class 626B
UsersService.class 606B
NotAuthorizedException.class 604B
HttpClientException.class 602B
ForbiddenException.class 594B
NotFoundException.class 584B
LoggerUtil$1.class 581B
BaseDao.class 491B
CastUtil.class 475B
RecordLog.class 455B
LoginRequired.class 440B
NoPack.class 426B
ProjectDefectSolutionDao.class 350B
ProjectDefectDao.class 326B
LoginLogsDao.class 314B
ProjectDao.class 308B
UsersDao.class 302B
LoginDao.class 249B
LoginService.class 175B
.classpath 1KB
org.eclipse.wst.common.component 653B
org.eclipse.wst.jsdt.ui.superType.container 49B
summernote-bs3.css 143KB
bootstrap.min-paper.css 138KB
style.css 134KB
bootstrap.min-lumen.css 128KB
bootstrap.min-flatly.css 124KB
bootstrap.min-readable.css 122KB
bootstrap.min-journal.css 122KB
bootstrap.min-custom.css 120KB
bootstrap.min.css 118KB
editormd.css 76KB
animate.css 64KB
editormd.min.css 60KB
editormd.preview.css 55KB
editormd.preview.min.css 44KB
datepicker3.css 33KB
font-awesome.css 32KB
bootstrap-rtl.css 31KB
mprogress.css 29KB
font-awesome.min.css 26KB
ambiance.css 26KB
ambiance.css 25KB
style.min.css 25KB
sweetalert.css 18KB
simditor.css 17KB
ui.jqgrid.css 16KB
jasny-bootstrap.min.css 14KB
jquery-ui-1.10.4.custom.min.css 14KB
style.css 13KB
chosen.css 12KB
dropzone.css 11KB
layer.css 11KB
layim.css 11KB
fullcalendar.css 11KB
summernote.css 10KB
plyr.css 10KB
codemirror.css 8KB
共 1151 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
python资深爱好者
- 粉丝: 2054
- 资源: 2784
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- yolo算法-麻将检测数据集-13687张图像带标签-西风.zip
- yolo算法-跌倒检测数据集-10787张图像带标签-检测到跌倒.zip
- 软考冲刺资源之软考系统架构设计师笔记一起努力吧
- delphi 读取多种格式的图像,并实现互转
- Wordpress简约大气昼夜切换导航主题模板NDNAV主题
- gcc-8.5.0.tar.gz
- Python爬取、存储、分析、可视化豆瓣电影Top250
- 应对期末考试时,所准备的学习仓库 主要是研一的期末课程-数值分析
- yolo算法-跌倒检测数据集-10792张图像带标签-检测到跌倒.zip
- yolo算法-道路旁边树木检测测试数据集-6898张图像带标签-.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功