当前位置:网站首页>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);
}
}
边栏推荐
- 编译命令行终端 swift
- WCF Foundation
- ROS learning (XIX) robot slam function package cartographer
- Analyze "C language" [advanced] paid knowledge [i]
- JVM 内存模型
- 爬虫实战(六):爬笔趣阁小说
- String to date object
- ROS学习(22)TF变换
- 736. LISP syntax parsing: DFS simulation questions
- First experience of JSON learning - the third-party jar package realizes bean, list and map to create JSON format
猜你喜欢

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

Let's see how to realize BP neural network in Matlab toolbox

JS how to quickly create an array with length n

百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (下)

Appium基础 — Appium Inspector定位工具(一)

ROS learning (23) action communication mechanism

盒子拉伸拉扯(左右模式)

Mongodb checks whether the table is imported successfully

Shell script quickly counts the number of lines of project code

Analyze "C language" [advanced] paid knowledge [II]
随机推荐
ROS learning (26) dynamic parameter configuration
Golang foundation - data type
String to date object
grep查找进程时,忽略grep进程本身
刨析《C语言》【进阶】付费知识【一】
When grep looks for a process, it ignores the grep process itself
AcWing 345. Cattle station solution (nature and multiplication of Floyd)
454-百度面经1
POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)
Set up [redis in centos7.x]
POJ 3177 redundant paths POJ 3352 road construction (dual connection)
ROS學習(23)action通信機制
centos8 用yum 安装MySQL 8.0.x
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (下)
How can I code for 8 hours without getting tired.
Image watermarking, scaling and conversion of an input stream
AcWing 346. Solution to the problem of water splashing festival in the corridor (deduction formula, minimum spanning tree)
Public key \ private SSH avoid password login
拖拽改变顺序
LeetCode. 剑指offer 62. 圆圈中最后剩下的数