package com.utils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.time.DateFormatUtils;
/**
* 时间工具类
*
* @author yuezejian
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
{
public static String YYYY = "yyyy";
public static String YYYY_MM = "yyyy-MM";
public static String YYYY_MM_DD = "yyyy-MM-dd";
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
//modified by Yue Zejian 2021/7/26
public static String HH_MM_SS = "HH:mm:ss";
private static String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
/**
* 获取当前Date型日期
*
* @return Date() 当前日期
*/
public static Date getNowDate()
{
return new Date();
}
/**
* 获取当前日期, 默认格式为yyyy-MM-dd
*
* @return String
*/
public static String getDate()
{
return dateTimeNow(YYYY_MM_DD);
}
/**
* 获取当前日期, 默认格式为yyyy-MM-dd
*
* @return String
*/
public static String getDate(Date date)
{
return dateTimeNow(YYYY_MM_DD, date);
}
public static final String getTime()
{
return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
}
public static final String dateTimeNow()
{
return dateTimeNow(YYYYMMDDHHMMSS);
}
public static final String dateTimeNow(final String format)
{
return parseDateToStr(format, new Date());
}
public static final String dateTimeNow(final String format, Date date)
{
return parseDateToStr(format, date);
}
public static final String dateTime(final Date date)
{
return parseDateToStr(YYYY_MM_DD, date);
}
public static String toStandardDateString ( Date date) {
return parseDateToStr(YYYY_MM_DD_HH_MM_SS,date);
}
public static final String parseDateToStr(final String format, final Date date)
{
return new SimpleDateFormat(format).format(date);
}
public static final Date dateTime(final String format, final String ts)
{
try
{
return new SimpleDateFormat(format).parse(ts);
}
catch (ParseException e)
{
throw new RuntimeException(e);
}
}
/**
* 日期路径 即年/月/日 如2018/08/08
*/
public static final String datePath()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyy/MM/dd");
}
/**
* 日期路径 即年/月/日 如20180808
*/
public static final String dateTime()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyyMMdd");
}
/**
* 日期型字符串转化为日期 格式
*/
public static Date parseDate(Object str)
{
if (str == null)
{
return null;
}
try
{
return parseDate(str.toString(), parsePatterns);
}
catch (ParseException e)
{
return null;
}
}
/**
* 获取服务器启动时间
*/
public static Date getServerStartDate()
{
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time);
}
/**
* 计算两个时间差
*/
public static String getDatePoor(Date endDate, Date nowDate)
{
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 获得两个时间的毫秒时间差异
long diff = endDate.getTime() - nowDate.getTime();
// 计算差多少天
long day = diff / nd;
// 计算差多少小时
long hour = diff % nd / nh;
// 计算差多少分钟
long min = diff % nd % nh / nm;
// 计算差多少秒//输出结果
// long sec = diff % nd % nh % nm / ns;
return day + "天" + hour + "小时" + min + "分钟";
}
/**
* 根据具体年份周数获取日期范围
* @param year 年份
* @param week 周数
* @param targetNum 第几天开始
* @return
*/
public static List<String> getWeekDays(int year, int week, int targetNum) {
// 计算目标周数
if (week + targetNum > 52) {
year++;
week += targetNum - 52;
} else if (week + targetNum <= 0) {
year--;
week += targetNum + 52;
} else {
week += targetNum;
}
SimpleDateFormat sdf=new SimpleDateFormat(YYYY_MM_DD);
Calendar cal=Calendar.getInstance();
// 设置每周的开始日期
cal.setFirstDayOfWeek(Calendar.SUNDAY);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.WEEK_OF_YEAR, week);
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
String beginDate = sdf.format(cal.getTime());
cal.add(Calendar.DAY_OF_WEEK, 6 );
String endDate = sdf.format(cal.getTime());
List<String> list = new ArrayList<>();
list.add(beginDate);
list.add(endDate);
return list;
}
/**
* 校验开始时间是否大于结束时间
*
* @param startTime 开始时间字符串
* @param endTime 结束时间字符串
* @param format 格式
* @auther Yue Zejian 2021/7/26
* @return
*/
public static boolean checkTimeRange(String startTime, String endTime, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date startDate = null;
Date endDate = null;
startDate = sdf.parse(startTime);
endDate = sdf.parse(endTime);
if (startDate.after(endDate)) { //startDate是否在endTime之后,为true 表示 startTime>endTime
return true;
} else {
return false;
}
/*
if (startDate.getTimee()>endDate.getEndTime()) { //判断时间戳
return true;
} else {
return false;
}*/
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 获取当前时间,日期以1970/1/1 存储
* @auther Yue Zejian 2021/7/26
* @return
*/
public static Date getNowTime() {
String str = DateUtils.getNowDate().toString();
String time = str.split(" ")[3];
return dateTime(HH_MM_SS,time);
}
/**
* 将特定时间,日期以1970/1/1 存储
* @auther Yue Zejian 2021/7/26
* @return
*/
public static Date getNowTime(Date date) {
String str = date.toString();
String time = str.split(" ")[3];
return dateTime(HH_MM_SS,time);
}
/**
* 在日期时间基础上增加N分钟
* @param date 时间基础
* @param nMinutes 增加的分钟数
* @return
*/
public static Date addMinutes2Date(Date date, int nMinutes){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 24小时制
cal.add(Calendar.MINUTE, nMinutes);
return cal.getTime();
}
public static Date getCurrentNoonTime() {
Calendar calendar =Calendar.getInstance();
calendar.set(1970,1,1,12,0,0);
Date date=calendar.getTime();
return date;
}
public static Date getDateByStandar
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 Java课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zipJava课设基于机器学习开发的分布式系统故障诊断系统源码.zip Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
Java课设基于机器学习开发的分布式系统故障诊断系统源码.zip (175个子文件)
fast-client.conf 127B
fast-client.conf 127B
fast-client.conf 127B
fast-client.conf 127B
DateUtils.java 11KB
DateUtils.java 11KB
LogPrintAspect.java 5KB
LogPrintAspect.java 5KB
FailureServiceImpl.java 5KB
FailureServiceImpl.java 5KB
ModelServiceImpl.java 5KB
ModelServiceImpl.java 5KB
FailureController.java 4KB
FailureController.java 4KB
FastDFSClient.java 4KB
FastDFSClient.java 4KB
ModelController.java 3KB
ModelController.java 3KB
Result.java 3KB
Result.java 3KB
JwtInterceptor.java 3KB
JwtInterceptor.java 3KB
FileServiceImpl.java 2KB
FileServiceImpl.java 2KB
JwtUtils.java 2KB
JwtUtils.java 2KB
ModelVersionServiceImpl.java 2KB
ModelVersionServiceImpl.java 2KB
ConfigCenter.java 2KB
ConfigCenter.java 2KB
IFailureService.java 2KB
IFailureService.java 2KB
FileController.java 2KB
FileController.java 2KB
UserController.java 1KB
UserController.java 1KB
InterceptorConfig.java 1KB
InterceptorConfig.java 1KB
FailureDataSetController.java 1KB
FailureDataSetController.java 1KB
GatewayConfig.java 1KB
GatewayConfig.java 1KB
ModelDataSetController.java 1KB
ModelDataSetController.java 1KB
SwaggerConfig.java 1KB
SwaggerConfig.java 1KB
ResultCode.java 1KB
ResultCode.java 1KB
ModelVersionController.java 1KB
ModelVersionController.java 1KB
IModelService.java 1KB
IModelService.java 1KB
FailureCourseVo.java 1KB
FailureCourseVo.java 1KB
FailureDataSetServiceImpl.java 1KB
FailureDataSetServiceImpl.java 1KB
ModelDataSetServiceImpl.java 1KB
ModelDataSetServiceImpl.java 1KB
FailureDataSet.java 1KB
FailureDataSet.java 1KB
ModelVersionMapper.java 1KB
ModelVersionMapper.java 1KB
ModelDataSet.java 1KB
ModelDataSet.java 1KB
UserServiceImpl.java 1016B
UserServiceImpl.java 1016B
Failure.java 1008B
Failure.java 1008B
FailureVo.java 986B
FailureVo.java 986B
FailureDataSetMapper.java 983B
FailureDataSetMapper.java 983B
ModelDataSetMapper.java 910B
ModelDataSetMapper.java 910B
FailureDataSetDto.java 885B
FailureDataSetDto.java 885B
ModelDataSetDto.java 883B
ModelDataSetDto.java 883B
ModelVersion.java 876B
ModelVersion.java 876B
FailureCourseMapper.java 867B
FailureCourseMapper.java 867B
Model.java 818B
Model.java 818B
GlobalExceptionHandler.java 807B
GlobalExceptionHandler.java 807B
ModelVo.java 781B
ModelVo.java 781B
Application.java 764B
Application.java 764B
ModelVersionDto.java 653B
ModelVersionDto.java 653B
FailureCourse.java 634B
FailureCourse.java 634B
ModelDto.java 631B
IFileService.java 631B
ModelDto.java 631B
IFileService.java 631B
IFailureDataSetService.java 612B
IFailureDataSetService.java 612B
共 175 条
- 1
- 2
资源评论
- m0_646216672024-03-29资源内容总结的很到位,内容详实,很受用,学到了~
- m0_561715392024-03-12感谢资源主分享的资源解决了我当下的问题,非常有用的资源。
北航程序员小C
- 粉丝: 2244
- 资源: 1825
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功