当前位置:网站首页>Date processing tool class dateutils (tool class 1)
Date processing tool class dateutils (tool class 1)
2022-07-07 01:56:00 【Novice Zhang~】
/** * Date Toolset */
@UtilityClass
public class DateUtils {
public static final String DATE_FORMAT = "yyyy-MM-dd";
public static final String YYYY_MM_DD = "yyyyMMdd";
public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final String TIME_FORMAT = "HH:mm:ss";
/** * Get relative time * * @param date * @param amount * @return */
public static String getRelativeTime(Date date, int amount) {
String addDate = DateUtils.getRelativeTime(date, amount);
return addDate;
}
/** * Convert time format 0000-00-00 00:00:00 —> 0000-00-00 * * @param dateTimeStr Time to switch * @return */
public static String toDateStr(@NonNull String dateTimeStr) {
return dateTimeStr.split(" ")[0];
}
/** * Convert time format Date Time format —> String Time format 0000-00-00 * * @param dateTimeStr Time to switch * @return */
public static String toDateStr(@NonNull Date dateTimeStr) {
return DateUtils.toDateStr(dateTimeStr);
}
/** * Convert time format String Time format 0000-00-00 -> Date Time format * * @param dateTimeStr Time to switch * @return */
public static Date toDate(@NonNull String dateTimeStr) {
Date date = null;
try {
// date =
// DateUtils.toDate(
// dateTimeStr, DateFormatEnum.ISO_8601_EXTENDED_DATE_FORMAT.getPattern());
date = DateUtils.toDate(dateTimeStr);
} catch (Exception e) {
throw new RuntimeException(" Convert time format String Time format 0000-00-00 -> Date Time format abnormal ");
}
return date;
}
/** * Convert time format String Time format 0000-00-00 -> Date Time format * * @param dateTimeStr Time to switch * @return */
public static Date toDateTime(@NonNull String dateTimeStr) {
Date date = null;
try {
// date =
// DateUtils.toDate(
// dateTimeStr, DateFormatEnum.ISO_8601_EXTENDED_DATETIME_FORMAT.getPattern());
date = DateUtils.toDate(dateTimeStr);
} catch (Exception e) {
throw new RuntimeException(" Convert time format String Time format 0000-00-00 -> Date Time format abnormal ");
}
return date;
}
/** * Get all the time from the creation time to yesterday according to the creation time * * @param gmtCreate Creation time * @return All time */
public static List<String> getTimest(String gmtCreate) {
List<String> datesStr = Lists.newArrayList();
Date gmtCreateDate = toDate(gmtCreate);
Date yesterdayDate = toDate(DateUtils.getRelativeTime(new Date(), -1));
while (gmtCreateDate.getTime() <= yesterdayDate.getTime()) {
datesStr.add(toDateStr(gmtCreateDate));
gmtCreateDate = toDate(DateUtils.getRelativeTime(gmtCreateDate, 1));
}
return datesStr;
}
/** * date turn LocalDateTime * * @param date * @return */
public static LocalDateTime dateToLocalDateTime(Date date) {
if (ObjectUtils.isNull(date)) {
return null;
}
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
/** * date turn LocalDateTime * * @param localDateTime * @return */
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
if (ObjectUtils.isNull(localDateTime)) {
return null;
}
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
public static final Long SHOPEE_TIMESTAMP_LIMIT = 4294967295L;
/** * solve Shopee Timestamp limitation * * @param timestamp * @return */
public static long resolveShopeeTimestamp(Long timestamp) {
if (timestamp >= SHOPEE_TIMESTAMP_LIMIT) {
return timestamp / 1000L;
}
return timestamp;
}
/** * Date to string Format customization * * @param date * @param f * @return */
public static String dateStr(Date date, String f) {
if (date == null) {
return "";
}
SimpleDateFormat format = new SimpleDateFormat(f);
String str = format.format(date);
return str;
}
/** * Get the remaining time of the day * Returns the second value */
public long getRemainingTime() {
//long milliSecondsLeftToday = 86400000 - org.apache.commons.lang.time.DateUtils.getFragmentInMilliseconds(Calendar.getInstance(), Calendar.DATE);
return 86400 - org.apache.commons.lang.time.DateUtils.getFragmentInSeconds(Calendar.getInstance(), Calendar.DATE);
}
/** * take date Turn into ISODate In order to mongo distinguish * * @param dateStr * @return */
public static Date dateToISODate(Date dateStr) {
Date parse = null;
try {
// Parse string time
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
parse = format.parse(format.format(dateStr));
} catch (ParseException e) {
e.printStackTrace();
}
return parse;
}
/** * If it is a string, it needs to be converted to date Call again dateToISODate() Method * @param strDate * @return */
public static Long strToDateLong(String strDate,String f) {
Date date = null;
try {
SimpleDateFormat formatter = new SimpleDateFormat(f);
date = formatter.parse(strDate);
return date.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/** * Timestamp to time string * @param tiemsmap Time stamp * @return Converted String */
public static String timestampToStr(Long tiemsmap){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(tiemsmap);
}
/** * Custom date analysis format * @param tiemsmap Time stamp * @param r Converted time format for example : yyyy-MM-dd HH:mm:ss * @return Converted String */
public static String timestampToStr(Long tiemsmap,String r){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(r);
return simpleDateFormat.format(tiemsmap);
}
}
边栏推荐
猜你喜欢

C语言关于链表的代码看不懂?一篇文章让你拿捏二级指针并深入理解函数参数列表中传参的多种形式

Clickhouse fields are grouped and aggregated, and SQL is queried according to the granularity of any time period

centos8安装mysql报错:The GPG keys listed for the “MySQL 8.0 Community Server“ repository are already ins

ROS学习(二十)机器人SLAM功能包——rgbdslam的安装与测试

永久的摇篮

Scenario practice: quickly build wordpress blog system based on function calculation

CISP-PTE之命令注入篇

JVM 内存模型

454 Baidu Mianjing 1

Batch delete data in SQL - set in entity
随机推荐
MySQL execution process and sequence
Make DIY welding smoke extractor with lighting
uva 1401 dp+Trie
Input and output of C language pointer to two-dimensional array
JS ES5也可以创建常量?
新工作感悟~辞旧迎新~
Right mouse button customization
HDU 4661 message passing (wood DP & amp; Combinatorics)
Telnet,SSH1,SSH2,Telnet/SSL,Rlogin,Serial,TAPI,RAW
2022/0524/bookstrap
Baidu flying general BMN timing action positioning framework | data preparation and training guide (Part 2)
How to use strings as speed templates- How to use String as Velocity Template?
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (下)
Image watermarking, scaling and conversion of an input stream
Appium自动化测试基础 — uiautomatorviewer定位工具
猫猫回收站
WCF Foundation
AcWing 1140. Shortest network (minimum spanning tree)
Golang foundation - data type
DS-5/RVDS4.0变量初始化错误