Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
ac030b72
Commit
ac030b72
authored
Feb 26, 2022
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化Excel格式化不同类型的日期对象
parent
93707474
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
8 deletions
+73
-8
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
...ommon/src/main/java/com/ruoyi/common/utils/DateUtils.java
+34
-2
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
...n/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+39
-6
No files found.
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
View file @
ac030b72
...
...
@@ -3,6 +3,11 @@ package com.ruoyi.common.utils;
import
java.lang.management.ManagementFactory
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.ZoneId
;
import
java.time.ZonedDateTime
;
import
java.util.Date
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
...
...
@@ -131,6 +136,14 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
return
new
Date
(
time
);
}
/**
* 计算相差天数
*/
public
static
int
differentDaysByMillisecond
(
Date
date1
,
Date
date2
)
{
return
Math
.
abs
((
int
)
((
date2
.
getTime
()
-
date1
.
getTime
())
/
(
1000
*
3600
*
24
)));
}
/**
* 计算两个时间差
*/
...
...
@@ -152,4 +165,23 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
// long sec = diff % nd % nh % nm / ns;
return
day
+
"天"
+
hour
+
"小时"
+
min
+
"分钟"
;
}
/**
* 增加 LocalDateTime ==> Date
*/
public
static
Date
toDate
(
LocalDateTime
temporalAccessor
)
{
ZonedDateTime
zdt
=
temporalAccessor
.
atZone
(
ZoneId
.
systemDefault
());
return
Date
.
from
(
zdt
.
toInstant
());
}
/**
* 增加 LocalDate ==> Date
*/
public
static
Date
toDate
(
LocalDate
temporalAccessor
)
{
LocalDateTime
localDateTime
=
LocalDateTime
.
of
(
temporalAccessor
,
LocalTime
.
of
(
0
,
0
,
0
));
ZonedDateTime
zdt
=
localDateTime
.
atZone
(
ZoneId
.
systemDefault
());
return
Date
.
from
(
zdt
.
toInstant
());
}
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
View file @
ac030b72
...
...
@@ -9,6 +9,8 @@ import java.lang.reflect.Field;
import
java.lang.reflect.Method
;
import
java.math.BigDecimal
;
import
java.text.DecimalFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Comparator
;
...
...
@@ -314,7 +316,7 @@ public class ExcelUtil<T>
String
dateFormat
=
field
.
getAnnotation
(
Excel
.
class
).
dateFormat
();
if
(
StringUtils
.
isNotEmpty
(
dateFormat
))
{
val
=
DateUtils
.
parseDateToStr
(
dateFormat
,
(
Date
)
val
);
val
=
parseDateToStr
(
dateFormat
,
(
Date
)
val
);
}
else
{
...
...
@@ -431,7 +433,6 @@ public class ExcelUtil<T>
* @param list 导出数据集合
* @param sheetName 工作表的名称
* @return 结果
* @throws IOException
*/
public
void
exportExcel
(
HttpServletResponse
response
,
List
<
T
>
list
,
String
sheetName
)
{
...
...
@@ -446,7 +447,6 @@ public class ExcelUtil<T>
* @param sheetName 工作表的名称
* @param title 标题
* @return 结果
* @throws IOException
*/
public
void
exportExcel
(
HttpServletResponse
response
,
List
<
T
>
list
,
String
sheetName
,
String
title
)
{
...
...
@@ -823,7 +823,7 @@ public class ExcelUtil<T>
String
dictType
=
attr
.
dictType
();
if
(
StringUtils
.
isNotEmpty
(
dateFormat
)
&&
StringUtils
.
isNotNull
(
value
))
{
cell
.
setCellValue
(
DateUtils
.
parseDateToStr
(
dateFormat
,
(
Date
)
value
));
cell
.
setCellValue
(
parseDateToStr
(
dateFormat
,
(
Date
)
value
));
}
else
if
(
StringUtils
.
isNotEmpty
(
readConverterExp
)
&&
StringUtils
.
isNotNull
(
value
))
{
...
...
@@ -1396,4 +1396,37 @@ public class ExcelUtil<T>
}
return
sheetIndexPicMap
;
}
/**
* 格式化不同类型的日期对象
*
* @param dateFormat 日期格式
* @param val 被格式化的日期对象
* @return 格式化后的日期字符
*/
public
String
parseDateToStr
(
String
dateFormat
,
Object
val
)
{
if
(
val
==
null
)
{
return
""
;
}
String
str
;
if
(
val
instanceof
Date
)
{
str
=
DateUtils
.
parseDateToStr
(
dateFormat
,
(
Date
)
val
);
}
else
if
(
val
instanceof
LocalDateTime
)
{
str
=
DateUtils
.
parseDateToStr
(
dateFormat
,
DateUtils
.
toDate
((
LocalDateTime
)
val
));
}
else
if
(
val
instanceof
LocalDate
)
{
str
=
DateUtils
.
parseDateToStr
(
dateFormat
,
DateUtils
.
toDate
((
LocalDate
)
val
));
}
else
{
str
=
val
.
toString
();
}
return
str
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment