package com.hogwartstest.aitestmini.util;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.MonthDay;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.util.List;
/**
* @Author tlibn
* @Date 2020/6/17 10:43
**/
import com.google.common.collect.Lists;
/**
*
* java1.8 的新特性,解决SimpleDateFormat的线程问题<br>
* <li>Instant代替 Date,</li>
* <li>LocalDateTime代替 Calendar,</li>
* <li>DateTimeFormatter 代替 SimpleDateFormat.</li> 注意:如果是共享变量,则可能会出现线程问题。<br>
*
* @author zero 2019/03/30
*/
public class DateUtil {
// 时间元素
private static final String YEAR = "year";
private static final String MONTH = "month";
private static final String WEEK = "week";
private static final String DAY = "day";
private static final String HOUR = "hour";
private static final String MINUTE = "minute";
private static final String SECOND = "second";
// 星期元素
private static final String MONDAY = "MONDAY";// 星期一
private static final String TUESDAY = "TUESDAY";// 星期二
private static final String WEDNESDAY = "WEDNESDAY";// 星期三
private static final String THURSDAY = "THURSDAY";// 星期四
private static final String FRIDAY = "FRIDAY";// 星期五
private static final String SATURDAY = "SATURDAY";// 星期六
private static final String SUNDAY = "SUNDAY";// 星期日
// 根据指定格式显示日期和时间
/** yyyy-MM-dd */
private static final DateTimeFormatter yyyyMMdd_EN = DateTimeFormatter.ofPattern("yyyy-MM-dd");
/** yyyy-MM-dd HH */
private static final DateTimeFormatter yyyyMMddHH_EN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH");
/** yyyy-MM-dd HH:mm */
private static final DateTimeFormatter yyyyMMddHHmm_EN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
/** yyyy-MM-dd HH:mm:ss */
private static final DateTimeFormatter yyyyMMddHHmmss_EN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
/** HH:mm:ss */
private static final DateTimeFormatter HHmmss_EN = DateTimeFormatter.ofPattern("HH:mm:ss");
/** yyyy年MM月dd日 */
private static final DateTimeFormatter yyyyMMdd_CN = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
/** yyyy年MM月dd日HH时 */
private static final DateTimeFormatter yyyyMMddHH_CN = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时");
/** yyyy年MM月dd日HH时mm分 */
private static final DateTimeFormatter yyyyMMddHHmm_CN = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分");
/** yyyy年MM月dd日HH时mm分ss秒 */
private static final DateTimeFormatter yyyyMMddHHmmss_CN = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分ss秒");
/** HH时mm分ss秒 */
private static final DateTimeFormatter HHmmss_CN = DateTimeFormatter.ofPattern("HH时mm分ss秒");
// 本地时间显示格式:区分中文和外文显示
private static final DateTimeFormatter shotDate = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
private static final DateTimeFormatter fullDate = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
private static final DateTimeFormatter longDate = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
private static final DateTimeFormatter mediumDate = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
/**
* 获取当前日期
*
* @return yyyy-MM-dd
* @author zero 2019/03/30
*/
public static String getNowDate_EN() {
return String.valueOf(LocalDate.now());
}
/**
* 获取当前日期
*
* @return 字符串yyyy-MM-dd HH:mm:ss
* @author zero 2019/03/30
*/
public static String getNowTime_EN() {
return LocalDateTime.now().format(yyyyMMddHHmmss_EN);
}
/** 获取当前时间(yyyy-MM-dd HH) */
public static String getNowTime_EN_yMdH() {
return LocalDateTime.now().format(yyyyMMddHH_EN);
}
/** 获取当前时间(yyyy年MM月dd日) */
public static String getNowTime_CN_yMdH() {
return LocalDateTime.now().format(yyyyMMddHH_CN);
}
/** 获取当前时间(yyyy-MM-dd HH:mm) */
public static String getNowTime_EN_yMdHm() {
return LocalDateTime.now().format(yyyyMMddHHmm_EN);
}
/** 获取当前时间(yyyy年MM月dd日HH时mm分) */
public static String getNowTime_CN_yMdHm() {
return LocalDateTime.now().format(yyyyMMddHHmm_CN);
}
/** 获取当前时间(HH时mm分ss秒) */
public static String getNowTime_CN_HHmmss() {
return LocalDateTime.now().format(HHmmss_CN);
}
/**
* 根据日期格式,获取当前时间
*
* @param formatStr 日期格式<br>
* <li>yyyy</li>
* <li>yyyy-MM-dd</li>
* <li>yyyy-MM-dd HH:mm:ss</li>
* <li>HH:mm:ss</li>
* @return
* @author zero 2019/03/30
*/
public static String getTime(String formatStr) {
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(formatStr));
}
/**
* 获取中文的当前日期
*
* @return yyyy年mm月dd日
* @author zero 2019/03/30
*/
public static String getNowDate_CN() {
return LocalDate.now().format(yyyyMMdd_CN);
}
/**
* 获取中文当前时间
*
* @return yyyy年MM月dd日HH时mm分ss秒
* @author zero 2019/03/30
*/
public static String getNowTime_CN() {
return LocalDateTime.now().format(yyyyMMddHHmmss_CN);
}
/**
* 简写本地当前日期:yy-M-dd<br>
* 例如:19-3-30为2019年3月30日
*
* @return 字符串yy-M-dd
* @author zero 2019/03/30
*/
public static String getNowLocalTime_shot() {
return LocalDateTime.now().format(shotDate);
}
/**
* 根据当地日期显示格式:yyyy年M月dd日 星期?(中国)
*
* @return 形如:2019年3月30日 星期六
* @author zero 2019/03/30
*/
public static String getNowLocalTime_full() {
return LocalDateTime.now().format(fullDate);
}
/**
* 根据当地显示日期格式:yyyy年M月dd日(中国)
*
* @return 形如 2019年3月30日
* @author zero 2019/03/30
*/
public static String getNowLocalTime_long() {
return LocalDateTime.now().format(longDate);
}
/**
* 根据当地显示日期格式:yyyy-M-dd(中国)
*
* @return 形如:2019-3-30
* @author zero 2019/03/30
*/
public static String getNowLocalTime_medium() {
return LocalDateTime.now().format(mediumDate);
}
/**
* 获取当前日期的节点时间(年,月,周,日,时,分,秒)
*
* @param node 日期中的节点元素(年,月,周,日,时,分,秒)
* @return 节点数字,如创建此方法的时间:年 2019,月 3,日 30,周 6
* @author zero 2019/03/30 星期六
*/
public static Integer getNodeTime(String node) {
LocalDateTime today = LocalDateTime.now();
Integer resultNode = null;
switch (node) {
case YEAR:
resultNode = today.getYear();
break;
case MONTH:
resultNode = today.getMonthValue();
break;
case WEEK:
resultNode = transformWeekEN2Num(String.valueOf(today.getDayOfWeek()));
break;
case DAY:
resultNode = today.getDayOfMonth();
break;
case HOUR:
resultNode = today.getHour();
break;
case MINUTE:
resultNode = today.getMinute();
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
霍格沃兹测试学院-教学版测试平台完整项目-后端项目-java-springboot.zip (100个子文件)
index.adoc 211B
manual_content1.adoc 90B
manual_content2.adoc 47B
mvnw.cmd 6KB
.gitignore 333B
DateUtil.java 27KB
HogwartsTestTaskServiceImpl.java 17KB
HogwartsTestTaskController.java 10KB
HogwartsTestCaseController.java 9KB
FileUtil.java 9KB
HogwartsTestJenkinsServiceImpl.java 8KB
HogwartsTestJenkinsController.java 7KB
HogwartsTestCaseServiceImpl.java 6KB
UserControllerTest.java 6KB
HogwartsTestReportServiceImpl.java 6KB
JenkinsClient.java 5KB
HogwartsTesReportController.java 5KB
HogwartsTestUserController.java 4KB
HogwartsTestUserServiceImpl.java 3KB
LoginInterceptor.java 3KB
JenkinsFactory.java 3KB
HogwartsTestTaskCaseRelController.java 2KB
ResultDto.java 2KB
Swagger2MarkupTest.java 2KB
ReportUtil.java 2KB
JenkinsUtil.java 2KB
GlobalExceptionHandler.java 2KB
WebAppConfig.java 2KB
HogwartsTestTaskCaseRelServiceImpl.java 2KB
SwaggerConfig.java 2KB
UpdateHogwartsTestJenkinsDto.java 2KB
GlobalCorsConfig.java 2KB
HogwartsTestJenkins.java 2KB
AddHogwartsTestJenkinsDto.java 2KB
HogwartsTestTaskService.java 2KB
HogwartsTestTask.java 1KB
HogwartsTestCaseService.java 1KB
HogwartsTestTaskMapper.java 1KB
HogwartsTestJenkinsService.java 1KB
TokenDb.java 1KB
HogwartsTestUser.java 1KB
StrUtil.java 1KB
HogwartsTestReportService.java 1KB
CopyUtil.java 1KB
HogwartsTestCaseMapper.java 1KB
HogwartsTestTaskCaseRelDetailDto.java 1KB
HogwartsTestCase.java 1016B
HogwartsTestTaskCaseRelMapper.java 943B
HogwartsTestJenkinsMapper.java 941B
AddHogwartsTestTaskDto.java 844B
UpdateHogwartsTestCaseDto.java 838B
HogwartsTestTaskCaseRel.java 835B
RequestInfoDto.java 824B
HogwartsTestUserService.java 774B
AddHogwartsTestCaseDto.java 758B
PageTableRequest.java 753B
ServiceException.java 752B
TaskDataDto.java 750B
Constants.java 744B
StartTestDto.java 701B
TaskCaseCountDto.java 695B
TaskReportDto.java 692B
HogwartsTestTaskCaseRelService.java 677B
QueryHogwartsTestTaskCaseRelListDto.java 674B
UpdateHogwartsTestTaskStatusDto.java 671B
UpdateHogwartsTestTaskDto.java 660B
LoginUserDto.java 650B
AddUserDto.java 620B
QueryHogwartsTestCaseListDto.java 591B
QueryHogwartsTestJenkinsListDto.java 577B
QueryHogwartsTestTaskListDto.java 570B
AitestMiniApplication.java 521B
TestTaskDto.java 520B
OperateJenkinsJobDto.java 449B
AitestMiniApplicationTests.java 417B
MySqlExtensionMapper.java 394B
Token.java 361B
PageTableResponse.java 341B
HogwartsTestUserMapper.java 319B
User.java 284B
BaseDto.java 283B
TokenDto.java 274B
UserConstants.java 250B
BaseEntityNew.java 236B
AllureReportDto.java 219B
mvnw 10KB
config.properties 458B
pom.xml 16KB
hogwarts_test_mini_start_test.xml 4KB
generatorConfig.xml 4KB
HogwartsTestTaskMapper.xml 3KB
HogwartsTestJenkinsMapper.xml 2KB
HogwartsTestTaskCaseRelMapper.xml 2KB
HogwartsTestCaseMapper.xml 2KB
HogwartsTestUserMapper.xml 1KB
application-uat.yml 832B
application-test.yml 826B
application-dev.yml 826B
application-prod.yml 826B
application.yml 69B
共 100 条
- 1
资源评论
zero2100
- 粉丝: 161
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- index.jsp
- Screenshot_20240521_090410_com.huawei.android.launcher.jpg
- 单文件制作工具 7.0.2.3851-x86-x64
- Linux命令.xmind
- 基于Transformer实现的跨域Cross-view实时Map-view语义分割算法-附项目源码-优质项目实战.zip
- linux常用命令大全-.zip
- 2024彩虹聚合DNS管理系统源码 管理系统快速开发平台 聚合平台管理.zip
- elasticsearch介绍-.zip
- nodejs安装及环境配置-.zip
- 谷歌浏览器自动化测试版113.0.5672.0(包含linux,windows32/64,mac三个版本,不会自动更新)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功