当前位置:网站首页>Time tools
Time tools
2022-07-07 19:39:00 【Scarecrow 0.0】
public class DateUtils {
public static final Date MAX_DATE = new Date(4102243199000L);
private DateUtils() {
throw new UnsupportedOperationException(this.getClass().getName() + " is a tool class, can't be created instance!");
}
public static String convertTimeToString(long longTime) {
return convertTimeToString(longTime, "yyyy-MM-dd HH:mm:ss");
}
public static String convertTimeToString(long longTime, String format) {
try {
Timestamp t = new Timestamp(longTime * 1000L);
SimpleDateFormat sDateFormat = new SimpleDateFormat(format);
return sDateFormat.format(t);
} catch (Exception var5) {
throw new RuntimeException("Can't format the time by format[" + format + "]!");
}
}
public static long convertTimeToLong(String dateTime) {
return convertTimeToLong(dateTime, "yyyy-MM-dd HH:mm:ss");
}
public static long convertTimeToLong(String dateTime, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
long date = 0L;
try {
Date d = sdf.parse(dateTime);
date = d.getTime() / 1000L;
return date;
} catch (Exception var6) {
throw new RuntimeException("Can't format the time by format[" + format + "]!");
}
}
public static long getCurrentLongTime() {
return System.currentTimeMillis() / 1000L;
}
public static String getCurrentTime() {
return getCurrentTime("yyyy-MM-dd HH:mm:ss");
}
public static String getCurrentTime(String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date());
} catch (Exception var2) {
throw new RuntimeException("Can't format the time by format[" + format + "]!");
}
}
public static long getDayBetweenDateAndDate(String startDate, String endDate) {
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day = 0L;
try {
Date date = myFormatter.parse(endDate);
Date mydate = myFormatter.parse(startDate);
day = (date.getTime() - mydate.getTime()) / 86400000L;
return day;
} catch (Exception var7) {
throw new RuntimeException("Time format[" + startDate + "][" + endDate + "] is error ! format must be 'yyyy-MM-dd'!");
}
}
public static int getWeekday(String dateTime) {
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = myFormatter.parse(dateTime);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(7) - 1 < 0 ? 0 : cal.get(7) - 1;
} catch (ParseException var4) {
throw new RuntimeException("Time format[" + dateTime + "] is error ! format must be 'yyyy-MM-dd'!");
}
}
public static String getPreWeekFirstDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus - 7);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getPreWeekLastDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus - 1);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getNextWeekFirstDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus + 7);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getNextWeekLastDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus + 7 + 6);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getWeekFirstDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getWeekLastDay() {
Calendar cd = Calendar.getInstance();
int week = cd.get(7) == 1 ? 8 : cd.get(7);
int mondayPlus = week - 1 == 1 ? 0 : 1 - (week - 1);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(5, mondayPlus + 6);
Date monday = currentDate.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(monday);
}
public static String getPreMonthFirstDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.set(5, 1);
lastDate.add(2, -1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getPreMonthLastDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.add(2, -1);
lastDate.set(5, 1);
lastDate.roll(5, -1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getMonthFirstDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.set(5, 1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getMonthLastDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.set(5, 1);
lastDate.add(2, 1);
lastDate.add(5, -1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getNextMonthFirstDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.add(2, 1);
lastDate.set(5, 1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getNextMonthLastDay() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
lastDate.add(2, 1);
lastDate.set(5, 1);
lastDate.roll(5, -1);
str = sdf.format(lastDate.getTime());
return str;
}
public static String getBeforeAfterDate(String dateTime, int day) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date oldDate = null;
try {
df.setLenient(false);
oldDate = new Date(df.parse(dateTime).getTime());
} catch (ParseException var11) {
throw new RuntimeException("Time format[" + dateTime + "] is error ! format must be 'yyyy-MM-dd'!");
}
Calendar cal = new GregorianCalendar();
cal.setTime(oldDate);
int Year = cal.get(1);
int Month = cal.get(2);
int Day = cal.get(5);
int NewDay = Day + day;
cal.set(1, Year);
cal.set(2, Month);
cal.set(5, NewDay);
Date date = new Date(cal.getTimeInMillis());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(date);
}
}
边栏推荐
- L1-027 rental (Lua)
- How to buy stocks on your mobile phone and open an account? Is it safe to open an account
- 一张图深入的理解FP/FN/Precision/Recall
- Matplotlib drawing 3D graphics
- LeetCode 497(C#)
- Kunpeng developer summit 2022 | Kirin Xin'an and Kunpeng jointly build a new ecosystem of computing industry
- 网易云信参与中国信通院《实时音视频服务(RTC)基础能力要求及评估方法》标准编制...
- 谷歌seo外链Backlinks研究工具推荐
- Longest common prefix (leetcode question 14)
- R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化分组密度图、使用stat_overlay_normal_density函数为每个分组的密度图叠加正太分布曲线
猜你喜欢
Kirin Xin'an with heterogeneous integration cloud financial information and innovation solutions appeared at the 15th Hunan Financial Technology Exchange Conference
2022.07.04
编译原理 实验一:词法分析器的自动实现(Lex词法分析)
Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
Numpy——axis
Is PMP beneficial to work? How to choose a reliable platform to make it easier to prepare for the exam!!!
位运算介绍
State mode - Unity (finite state machine)
杰理之关于 TWS 声道配置【篇】
ASP.NET幼儿园连锁管理系统源码
随机推荐
L1-027 rental (Lua)
ASP.NET体育馆综合会员管理系统源码,免费分享
杰理之开机自动配对【篇】
First time in China! The language AI strength of this Chinese enterprise is recognized as No.2 in the world! Second only to Google
State mode - Unity (finite state machine)
Install mysql8 for Linux X ultra detailed graphic tutorial
How to open an account for stock speculation? Excuse me, is it safe to open a stock account by mobile phone?
LeetCode 535(C#)
指定opencv非标准安装的版本
Make insurance more "safe"! Kirin Xin'an one cloud multi-core cloud desktop won the bid of China Life Insurance, helping the innovation and development of financial and insurance information technolog
Netease Yunxin participated in the preparation of the standard "real time audio and video service (RTC) basic capability requirements and evaluation methods" issued by the Chinese Academy of Communica
最长公共前缀(leetcode题14)
[RT thread env tool installation]
杰理之手动配对方式【篇】
编译原理 实验一:词法分析器的自动实现(Lex词法分析)
Specify the version of OpenCV non-standard installation
杰理之关于 TWS 交叉配对的配置【篇】
时间工具类
我的创作纪念日
2022.07.05