当前位置:网站首页>时间工具类
时间工具类
2022-07-07 17:29:00 【稻草人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);
}
}
边栏推荐
- Solve the problem of remote rviz error reporting
- 2022上半年朋友圈都在传的10本书,找到了
- SlashData开发者工具榜首等你而定!!!
- ASP.NET体育馆综合会员管理系统源码,免费分享
- How much does it cost to develop a small program mall?
- cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)
- 指定opencv非标准安装的版本
- 微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹
- 【HDU】5248-序列变换(贪心+二分)「建议收藏」
- 99% of people don't know that privatized deployment is also a permanently free instant messaging software!
猜你喜欢

Matplotlib drawing 3D graphics

一张图深入的理解FP/FN/Precision/Recall
![Jerry's headphones with the same channel are not allowed to pair [article]](/img/7d/3dcd9c7df583944e1d765b67543eb1.png)
Jerry's headphones with the same channel are not allowed to pair [article]

杰理之测试盒配置声道【篇】

ES6 note 1

Kunpeng developer summit 2022 | Kirin Xin'an and Kunpeng jointly build a new ecosystem of computing industry

PV static creation and dynamic creation

杰理之关于 TWS 配对方式配置【篇】

AD域组策略管理

# 欢迎使用Markdown编辑器
随机推荐
Solve the error reporting problem of rosdep
2022.07.05
ant desgin 多选
LeetCode 535(C#)
CMD command enters MySQL times service name or command error (fool teaching)
Policy mode - unity
Draw squares with Obama (Lua)
Chief technology officer of Pasqual: analog quantum computing takes the lead in bringing quantum advantages to industry
what‘s the meaning of inference
Pasqal首席技术官:模拟量子计算率先为工业带来量子优势
我的创作纪念日
炒股如何开户?请问一下手机开户股票开户安全吗?
Kunpeng developer summit 2022 | Kirin Xin'an and Kunpeng jointly build a new ecosystem of computing industry
最长公共前缀(leetcode题14)
网易云信参与中国信通院《实时音视频服务(RTC)基础能力要求及评估方法》标准编制...
杰理之关于 TWS 声道配置【篇】
The strength index of specialized and new software development enterprises was released, and Kirin Xin'an was honored on the list
杰理之关于 TWS 交叉配对的配置【篇】
In the first half of 2022, I found 10 books that have been passed around by my circle of friends
Command mode - unity