bưu kiện
com.spring.testlist.util;
nhập khẩu
org.apache.commons.lang3.time.DateFormatUtils;
nhập khẩu
java. text. ParseException;
nhập khẩu
java.text.SimpleDateFormat;
nhập khẩu
java.util.Calendar;
nhập khẩu
java. util. Ngày;
/**
* Lớp công cụ ngày, kế thừa lớp org.apache.commons.lang.time.DateUtils
*
* @author cui
* @create 2018-10-26 15:30
**/
công cộng
lớp học
Ngày sử dụng
mở rộng
org.apache.commons.lang3.time.DateUtils{
riêng tư
tĩnh
Chuỗi [] phân tích cú pháp = {
"năm-tháng-ngày"
,
"năm-MM-dd HH:mm:ss"
,
"năm-MM-ngày HH:mm"
,
"năm-MM"
,
"năm/tháng/ngày"
,
"năm/tháng/ngày Giờ:phút:giây"
,
"năm/tháng/ngày HH:mm"
,
"năm/tháng"
,
"năm.tháng.ngày"
,
"năm.MM.dd HH:mm:ss"
,
"năm.MM.dd HH:mm"
,
"năm.MM"
};
/**
* Lấy định dạng chuỗi ngày hiện tại (yyyy-MM-dd)
*/
công cộng
tĩnh
Chuỗi getDate() {
trở lại
getDate(
"năm-tháng-ngày"
);
}
/**
* Nhận định dạng chuỗi ngày hiện tại (yyyyMMdd)
*/
công cộng
tĩnh
Chuỗi getSizeDate() {
trở lại
getDate(
"năm MMdd"
);
}
/**
* Lấy mẫu định dạng chuỗi ngày hiện tại (yyyy-MM-dd) có thể là: "yyyy-MM-dd" "HH:mm:ss" "E"
*/
công cộng
tĩnh
Chuỗi getDate(Mẫu chuỗi) {
trở lại
Định dạng ngày thángUtils.format(
mới
Ngày(), mẫu);
}
/**
* Lấy định dạng mặc định của mẫu chuỗi ngày (yyyy-MM-dd) có thể là: "yyyy-MM-dd" "HH:mm:ss" "E"
*/
công cộng
tĩnh
Định dạng chuỗi Ngày (Ngày, Đối tượng... mẫu) {
nếu như
(ngày ==
vô giá trị
) {
trở lại
vô giá trị
;
}
Định dạng chuỗi Ngày =
vô giá trị
;
nếu như
(mẫu !=
vô giá trị
&& mẫu.chiều dài >
0
) {
formatDate = DateFormatUtils.format(ngày, mẫu[
0
].toString());
}
khác
{
formatDate = DateFormatUtils.format(ngày,
"năm-tháng-ngày"
);
}
trở lại
định dạngNgày;
}
/**
* Lấy chuỗi ngày giờ và chuyển đổi định dạng (yyyy-MM-dd HH:mm:ss)
*/
công cộng
tĩnh
Định dạng chuỗi DateTime(Ngày tháng) {
trở lại
formatDate(ngày,
"năm-MM-dd HH:mm:ss"
);
}
/**
* Lấy định dạng chuỗi thời gian hiện tại (HH:mm:ss)
*/
công cộng
tĩnh
Chuỗi getTime() {
trở lại
định dạngNgày(
mới
Ngày(),
"H:mm:ss"
);
}
/**
* Nhận định dạng chuỗi ngày và giờ hiện tại (yyyy-MM-dd HH:mm:ss)
*/
công cộng
tĩnh
Chuỗi getDateTime() {
trở lại
định dạngNgày(
mới
Ngày(),
"năm-MM-dd HH:mm:ss"
);
}
/**
* Lấy định dạng chuỗi năm hiện tại (yyyy)
*/
công cộng
tĩnh
Chuỗi getYear() {
trở lại
định dạngNgày(
mới
Ngày(),
"năm"
);
}
/**
* Nhận định dạng chuỗi tháng hiện tại (MM)
*/
công cộng
tĩnh
Chuỗi getMonth() {
trở lại
định dạngNgày(
mới
Ngày(),
"MM"
);
}
/**
* Lấy định dạng chuỗi trong ngày (dd)
*/
công cộng
tĩnh
Chuỗi getDay() {
trở lại
định dạngNgày(
mới
Ngày(),
"đ"
);
}
/**
* Lấy định dạng chuỗi tuần hiện tại (E) ngày trong tuần
*/
công cộng
tĩnh
Chuỗi getWeek() {
trở lại
định dạngNgày(
mới
Ngày(),
"E"
);
}
/**
* Chuyển đổi chuỗi ngày sang định dạng ngày
* { "ngày-tháng-năm", "ngày-tháng-năm" "ngày-tháng-năm" "ngày-tháng-năm" "ngày-tháng-năm"
* "năm/tháng/ngày", "năm/tháng/ngày Giờ:phút:giây", "năm/tháng/ngày Giờ:phút",
* "năm.MM.dd", "năm.MM.dd HH:mm:ss", "năm.MM.dd HH:mm" }
*/
công cộng
tĩnh
Ngày parseDate(Object str) {
nếu như
(chuỗi ==
vô giá trị
) {
trở lại
vô giá trị
;
}
thử
{
trở lại
parseDate(str.toString(), parsePatterns);
}
nắm lấy
(ParseException e) {
trở lại
vô giá trị
;
}
}
/**
* Lấy số ngày trong quá khứ
*
* @param ngày
* @trở lại
*/
công cộng
tĩnh
dài
pastDays(Ngày tháng) {
dài
t = System.currentTimeMillis()- date.getTime();
trở lại
t / (
24
*
60
*
60
*
1000
);
}
/**
* Nhận giờ qua
*
* @param ngày
* @trở lại
*/
công cộng
tĩnh
dài
pastHour(Ngày tháng) {
dài
t =System.currentTimeMillis() - date.getTime();
trở lại
t / (
60
*
60
*
1000
);
}
/**
* Nhận phút vừa qua
*
* @param ngày
* @trở lại
*/
công cộng
tĩnh
dài
pastMinutes(Ngày ngày) {
dài
t = System.currentTimeMillis() - date.getTime();
trở lại
t / (
60
*
1000
);
}
/**
* Chuyển đổi sang thời gian (ngày, giờ: phút: giây. mili giây)
*
* @param timeMillis
* @trở lại
*/
công cộng
tĩnh
Định dạng chuỗi Ngày giờ(
dài
thời gianHàng nghìn) {
dài
ngày = thời gianMillis / (
24
*
60
*
60
*
1000
);
dài
giờ = (timeMillis / (
60
*
60
*
1000
) - ngày *
24
);
dài
phút = ((timeMillis / (
60
*
1000
)) - ngày *
24
*
60
- giờ *
60
);
dài
s = (timeMillis /
1000
- ngày *
24
*
60
*
60
- giờ *
60
*
60
- phút *
60
);
dài
sss = (timeMillis - ngày *
24
*
60
*
60
*
1000
- giờ *
60
*
60
*
1000
- phút *
60
*
1000
- s *
1000
);
trở lại
(ngày >
0
? ngày +
","
:
""
) + giờ +
":"
+ phút +
":"
+ s +
"."
+ sss;
}
/**
* Lấy số ngày giữa hai ngày
*
* @param trước
* @param sau
* @trở lại
*/
công cộng
tĩnh
gấp đôi
getDistanceOfTwoDate(Ngày trước, Ngày sau) {
dài
beforeTime = before.getTime();
dài
afterTime = after.getTime();
trở lại
(sauThời Gian - trướcThời Gian) / (
1000
*
60
*
60
*
24
);
}
công cộng
tĩnh
Chuỗi getFirstDayOfMonth() {
Định dạng SimpleDateFormat =
mới
Định dạng ngày tháng đơn giản
"năm-tháng-ngày"
);
Lịch c = Calendar.getInstance();
c.add(Lịch.THÁNG,
0
);
c.set(Lịch.NGÀY_CỦA_THÁNG,
1
);
Chuỗi đầu tiên = format.format(c.getTime());
trở lại
Đầu tiên;
}
/**
* @param lập luận
* @throws Ngoại lệ Parse
*/
công cộng
tĩnh
vô hiệu
main(String[] args)
ném
Ngoại lệ phân tích {
Kích thước chuỗiDate = formatDate(
mới
Ngày(),
"năm MMdd"
);
System.out.println(sizeDate);
}
}
Tôi là một lập trình viên xuất sắc, rất giỏi!