当前位置:网站首页>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);
}
}
边栏推荐
- Errors made in the development of merging the quantity of data in the set according to attributes
- How did partydao turn a tweet into a $200million product Dao in one year
- C语言关于链表的代码看不懂?一篇文章让你拿捏二级指针并深入理解函数参数列表中传参的多种形式
- uva 1401 dp+Trie
- 【唯一】的“万字配图“ | 讲透【链式存储结构】是什么?
- JS es5 peut également créer des constantes?
- golang 基础 —— 数据类型
- ROS learning (25) rviz plugin
- AcWing 904. Wormhole solution (SPFA for negative rings)
- json学习初体验–第三者jar包实现bean、List、map创json格式
猜你喜欢
Clickhouse fields are grouped and aggregated, and SQL is queried according to the granularity of any time period
修改px4飞控的系统时间
Comparison of picture beds of free white whoring
centos8 用yum 安装MySQL 8.0.x
[unique] what is the [chain storage structure]?
刨析《C语言》【进阶】付费知识【二】
ROS学习(25)rviz plugin插件
Appium自动化测试基础 — uiautomatorviewer定位工具
AcWing 345. 牛站 题解(floyd的性质、倍增)
Mongodb checks whether the table is imported successfully
随机推荐
mongodb查看表是否导入成功
Amway wave C2 tools
736. LISP syntax parsing: DFS simulation questions
454 Baidu Mianjing 1
JS Es5 can also create constants?
糊涂工具类(hutool)post请求设置body参数为json数据
猫猫回收站
修改px4飞控的系统时间
How did partydao turn a tweet into a $200million product Dao in one year
How to use strings as speed templates- How to use String as Velocity Template?
AcWing 904. Wormhole solution (SPFA for negative rings)
AcWing 346. Solution to the problem of water splashing festival in the corridor (deduction formula, minimum spanning tree)
Appium foundation - appium inspector positioning tool (I)
Domestic images of various languages, software and systems. It is enough to collect this warehouse: Thanks mirror
golang 基础 —— 数据类型
ZOJ Problem Set – 2563 Long Dominoes 【如压力dp】
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
sql中批量删除数据---实体中的集合
AcWing 1140. 最短网络 (最小生成树)
对C语言数组的再认识