package com.salon.common.utils;
import com.salon.common.exception.CustomException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.joda.time.DateTime;
@Slf4j
public class DateUtils {
/**
* 年-月-日 时:分:秒
*/
public static final String FORMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";
/**
* 年-月-日
*/
public static final String FORMAT_YMD = "yyyy-MM-dd";
/**
* 时:分:秒
*/
public static final String FORMAT_HMS = "HH:mm:ss";
/**
* 年月日时分秒
*/
public static final String FORMAT_YMDHMS_NOS = "yyyyMMddHHmmss";
/**
* 年-月-日 时:分:秒:SSS
*/
public static final String FORMAT_YMDHMS_SSS = "yyyy-MM-dd HH:mm:ss:SSS";
public static final String fmt5 = "yyyyMMdd";
/**
* 一天的毫秒数
*/
public static final Long dayLong = 1000 * 24 * 60 * 60L;
/**
* 一小时的毫秒数
*/
public static final Long hourLong = 1000 * 60 * 60L;
/**
* 一分钟的毫秒数
*/
public static final Long miniuteLong = 1000 * 60 * 60L;
/**
* 年-月
*/
public static final String FORMAT_YM = "yyyy-MM";
/**
* 获取标准时间格式(yyyy-MM-dd HH:mm:ss)字符串
*
* @return
*/
public static String getDate_ymdhms() {
SimpleDateFormat simpledateformat = new SimpleDateFormat(FORMAT_YMDHMS);
Date date = new Date();
return simpledateformat.format(date);
}
public static Date parseDate(String timeStr, String timeFormat) {
SimpleDateFormat simpledateformat = new SimpleDateFormat(timeFormat);
try {
return simpledateformat.parse(timeStr);
} catch (ParseException e) {
log.error("{} cannot be converted to Time", timeStr, e);
}
return null;
}
/**
* string转LocalDateTime
*
* @param str
* @return
*/
public static LocalDateTime getLocalDateTime(String str, String timeFm) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(timeFm);
return LocalDateTime.parse(str, dateTimeFormatter);
}
/**
* string转LocalDate
*
* @param str
* @return
*/
public static LocalDate getLocalDate(String str, String timeFm) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(timeFm);
return LocalDate.parse(str, dateTimeFormatter);
}
public static LocalDate getLocalDate(String str) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(FORMAT_YMD);
return LocalDate.parse(str, dateTimeFormatter);
}
public static LocalDateTime asLocalDateTime(Date date) {
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault())
.toLocalDateTime();
}
public static String asStringByLocalDateTime(Date date) {
return DateUtils
.getStrDateTime(Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault())
.toLocalDateTime());
}
public static String getStrTime(LocalDateTime date) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(FORMAT_YMDHMS_SSS);
return df.format(date);
}
public static String getStrTime(LocalDateTime date, String fmt) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(fmt);
return df.format(date);
}
public static String getStrDateTime(LocalDateTime date) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(FORMAT_YMDHMS_NOS);
return df.format(date);
}
public static String getStrDateTimeStandard(LocalDateTime date) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(FORMAT_YMDHMS);
return df.format(date);
}
public static String getStrDate(LocalDate date) {
if (Objects.isNull(date)) {
return "";
}
DateTimeFormatter df = DateTimeFormatter.ofPattern(FORMAT_YMD);
return df.format(date);
}
public static String getNowDateStr() {
return getStrDate(LocalDate.now());
}
public static String getNowDateStr(String format) {
return getStrDate(LocalDate.now(), format);
}
public static Date strToDate(String time) {
String date = time.replace("Z", " UTC");// 是空格+UTC
Date dateTime = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");// 格式化的表达式
try {
dateTime = format.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return dateTime;
}
/**
* LocalDateTime转化时间戳
*
* @param dateTime
* @return
*/
public static long localDateTimeToTimestamp(LocalDateTime dateTime) {
return dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
}
public static long localDateTimeToTimestampSecond(LocalDateTime dateTime) {
return dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli() / 1000;
}
public static long localDateToTimestamp(LocalDate date) {
return date.atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli();
}
/**
* 计算某天 到当前天的天数差 当前时间也计算 今天-今天 = 1(天)
*
* @param dateTime
* @return
*/
public static Long betweenDateAndNow(LocalDateTime dateTime) {
return LocalDate.now().toEpochDay() - dateTime.toLocalDate().toEpochDay() + 1;
}
public static Long betweenDateAndNow(LocalDate dateTime) {
return LocalDate.now().toEpochDay() - dateTime.toEpochDay() + 1;
}
public static String getDateStr(String format) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(format);
return df.format(LocalDateTime.now());
}
/**
* 输入1-7得到对应的中文星期转义
*
* @param week 1~7, 1 - 星期一, 2 - 星期二, ...
* @return 星期的中文
*/
public static String getWeekZH(Integer week) {
if (null == week || week <= 0 || week >= 8) {
return "";
}
String[] weekList = {"一", "二", "三", "四", "五", "六", "日"};
return "星期" + weekList[week - 1];
}
/**
* 输入一周的数字星期几 得到是否工作日 范围 1-7
*
* @param day 1-7
* @return 是工作日:true 不是工作日:false 输入范围外的返回null
*/
public static Boolean checkIsWorkingDay(int day) {
if (day >= 1 && day <= 7) {
return day <= 5;
}
throw new CustomException("星期索引超界!");
}
public static LocalDateTime getDateTimeOfTimestamp(long timestamp) {
Instant instant = Instant.ofEpochMilli(timestamp);
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
public static LocalDateTime getDateTimeOfTimestamp1000(long timestamp) {
int mul = 1000;
Instant instant = Instant.ofEpochMilli(timestamp * mul);
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
/**
* 格式化日期
*
* @param date
* @return String
*/
public static String getStrDate(LocalDate date, String fmt) {
DateTimeFormatter df = DateTimeFormatter.ofPattern(fmt);
return df.format(date);
}
/**
* LocalDateTime 转 Local
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java和Vue的美容院预约管理APP与后台管理系统设计源码
共525个文件
java:181个
vue:92个
js:74个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 4 浏览量
2024-09-23
13:23:53
上传
评论
收藏 5.31MB ZIP 举报
温馨提示
该项目是一个基于Java和Vue的美容院预约管理APP与后台管理系统设计源码,包含525个文件。其中,181个Java源文件、92个Vue组件、74个JavaScript脚本、48个SVG图形文件、21个GIF动画、20个PNG图片、19个XML配置文件、10个SCSS样式文件、10个VM视图模型文件、6个CSS样式表。该系统旨在为美容院提供高效的预约管理和后台管理功能。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java和Vue的美容院预约管理APP与后台管理系统设计源码 (525个子文件)
.browserslistrc 30B
index.css 414KB
skin.min.css 42KB
visualblocks.css 5KB
content.min.css 4KB
content.inline.min.css 3KB
prism.css 2KB
.env.development 144B
.env.development 129B
.editorconfig 244B
tinymce.eot 18KB
tinymce-small.eot 9KB
.eslintignore 299B
401.gif 160KB
loader.gif 3KB
smiley-cool.gif 354B
smiley-wink.gif 350B
smiley-smile.gif 344B
smiley-laughing.gif 343B
smiley-foot-in-mouth.gif 342B
smiley-frown.gif 340B
smiley-kiss.gif 338B
smiley-surprised.gif 338B
smiley-undecided.gif 337B
smiley-innocent.gif 336B
smiley-yell.gif 336B
smiley-embarassed.gif 331B
smiley-cry.gif 329B
smiley-tongue-out.gif 328B
smiley-sealed.gif 323B
smiley-money-mouth.gif 321B
object.gif 152B
anchor.gif 53B
trans.gif 43B
.gitignore 404B
.gitignore 256B
.gitignore 231B
index.html 843B
index.html 533B
favicon.ico 4KB
favicon.ico 1KB
DateUtils.java 23KB
HTMLFilter.java 20KB
RedisUtils.java 14KB
FileUtil.java 12KB
GenUtils.java 9KB
Base64.java 9KB
IOUtils.java 8KB
StringUtil.java 8KB
AesEncryptUtils.java 8KB
QiniuFileServiceImpl.java 8KB
Knife4jConfiguration.java 8KB
SysMenuServiceImpl.java 7KB
Sequence.java 6KB
SysMenuController.java 5KB
ScheduleUtils.java 5KB
SysLoginController.java 5KB
ShiroConfig.java 5KB
ParameterInterceptor.java 5KB
SysUserController.java 5KB
Base64Utils.java 5KB
SysRoleServiceImpl.java 5KB
SysUserServiceImpl.java 5KB
SysMenuEntity.java 5KB
ScheduleJobServiceImpl.java 4KB
LoginController.java 4KB
MakeUpController.java 4KB
QiniuFileController.java 4KB
XssHttpWrapper.java 4KB
LocalFileServiceImpl.java 4KB
SysConfigServiceImpl.java 4KB
SysRoleController.java 4KB
SysUserEntity.java 4KB
ScheduleJobController.java 4KB
JwtUtils.java 4KB
OAuth2Filter.java 3KB
PageResult.java 3KB
ServiceController.java 3KB
CustomController.java 3KB
BannerController.java 3KB
ResultSetInterceptor.java 3KB
LocalFileController.java 3KB
UserController.java 3KB
OAuth2Realm.java 3KB
SysLogAspect.java 3KB
ScheduleJob.java 3KB
SysConfigController.java 3KB
ScheduleJobEntity.java 3KB
ScheduleJobLogEntity.java 3KB
SysLogEntity.java 2KB
KaptchaConfig.java 2KB
RouterVo.java 2KB
AuthorizationInterceptor.java 2KB
ScheduleConfig.java 2KB
SysRoleEntity.java 2KB
ReservationEntity.java 2KB
WebMvcConfig.java 2KB
SysUserTokenServiceImpl.java 2KB
Query.java 2KB
ObjectResult.java 2KB
共 525 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
lly202406
- 粉丝: 2603
- 资源: 5442
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功