Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
pms-ci-test
Commits
91ea28d4
提交
91ea28d4
authored
6月 12, 2023
作者:
panda
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
时间全局格式化
上级
9f035a60
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
183 行增加
和
0 行删除
+183
-0
GlobalFormDateConvert.java
src/main/java/com/mmc/pms/config/GlobalFormDateConvert.java
+71
-0
GlobalJsonDateConvert.java
src/main/java/com/mmc/pms/config/GlobalJsonDateConvert.java
+61
-0
WebConfig.java
src/main/java/com/mmc/pms/config/WebConfig.java
+51
-0
没有找到文件。
src/main/java/com/mmc/pms/config/GlobalFormDateConvert.java
0 → 100644
浏览文件 @
91ea28d4
package
com
.
mmc
.
pms
.
config
;
import
org.springframework.core.convert.converter.Converter
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
//Converter<S,T> S: 代表的是源,将要转换的数据类型 T:目标类型,将会转成什么数据类型
@Component
public
class
GlobalFormDateConvert
implements
Converter
<
String
,
Date
>
{
// 静态初始化定义日期字符串参数列表(需要转换的)
private
static
final
List
<
String
>
paramList
=
new
ArrayList
<>();
// 静态初始化可能初夏你的日期格式
private
static
final
String
param1
=
"yyyy-MM"
;
private
static
final
String
param2
=
"yyyy-MM-dd"
;
private
static
final
String
param3
=
"yyyy-MM-dd HH:mm"
;
private
static
final
String
param4
=
"yyyy-MM-dd HH:mm:ss"
;
// 静态代码块,将日期参数加入到列表中
static
{
paramList
.
add
(
param1
);
paramList
.
add
(
param2
);
paramList
.
add
(
param3
);
paramList
.
add
(
param4
);
}
// 自定义函数,将字符串转Date 参1:传入的日期字符串 参2:格式参数
public
Date
parseDate
(
String
source
,
String
format
)
{
System
.
out
.
println
(
"parseDate转换日期"
);
Date
date
=
null
;
try
{
// 日期格式转换器
DateFormat
dateFormat
=
new
SimpleDateFormat
(
format
);
date
=
dateFormat
.
parse
(
source
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
// convert转换方法 ,s是将会传递过来的日期的字符串
@Override
public
Date
convert
(
String
source
)
{
System
.
out
.
println
(
"convert日期格式转换器"
);
if
(
StringUtils
.
isEmpty
(
source
))
{
return
null
;
}
source
=
source
.
trim
();
// 去除首尾空格
// 正则表达式判断是哪一种格式参数
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
0
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
1
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
2
));
}
else
if
(
source
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$"
))
{
return
parseDate
(
source
,
paramList
.
get
(
3
));
}
else
{
throw
new
IllegalArgumentException
(
"还未定义该种字符串转Date的日期转换格式 --> 【日期格式】:"
+
source
);
}
}
}
src/main/java/com/mmc/pms/config/GlobalJsonDateConvert.java
0 → 100644
浏览文件 @
91ea28d4
package
com
.
mmc
.
pms
.
config
;
import
com.fasterxml.jackson.databind.util.StdDateFormat
;
import
org.springframework.util.StringUtils
;
import
java.text.FieldPosition
;
import
java.text.ParsePosition
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
GlobalJsonDateConvert
extends
StdDateFormat
{
private
static
final
long
serialVersionUID
=
-
6738131740618766141L
;
// 静态初始化final,共享
public
static
final
GlobalJsonDateConvert
instance
=
new
GlobalJsonDateConvert
();
// 覆盖parse(String)这个方法即可实现
@Override
public
Date
parse
(
String
dateStr
,
ParsePosition
pos
)
{
return
getDate
(
dateStr
,
pos
);
}
@Override
public
Date
parse
(
String
dateStr
)
{
ParsePosition
pos
=
new
ParsePosition
(
0
);
return
getDate
(
dateStr
,
pos
);
}
private
Date
getDate
(
String
dateStr
,
ParsePosition
pos
)
{
SimpleDateFormat
sdf
=
null
;
if
(
StringUtils
.
isEmpty
(
dateStr
))
{
return
null
;
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
matches
(
"^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$"
))
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
else
if
(
dateStr
.
length
()
==
23
)
{
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
return
sdf
.
parse
(
dateStr
,
pos
);
}
return
super
.
parse
(
dateStr
,
pos
);
}
@Override
public
StringBuffer
format
(
Date
date
,
StringBuffer
toAppendTo
,
FieldPosition
fieldPosition
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
return
sdf
.
format
(
date
,
toAppendTo
,
fieldPosition
);
}
@Override
public
GlobalJsonDateConvert
clone
()
{
return
new
GlobalJsonDateConvert
();
}
}
src/main/java/com/mmc/pms/config/WebConfig.java
0 → 100644
浏览文件 @
91ea28d4
package
com
.
mmc
.
pms
.
config
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.databind.DeserializationFeature
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.ConversionServiceFactoryBean
;
import
org.springframework.core.convert.ConversionService
;
import
org.springframework.core.convert.converter.Converter
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
@Configuration
public
class
WebConfig
{
// JSON格式 全局日期转换器配置
@Bean
public
MappingJackson2HttpMessageConverter
getMappingJackson2HttpMessageConverter
()
{
MappingJackson2HttpMessageConverter
mappingJackson2HttpMessageConverter
=
new
MappingJackson2HttpMessageConverter
();
// 设置日期格式
ObjectMapper
objectMapper
=
new
ObjectMapper
();
objectMapper
.
setDateFormat
(
GlobalJsonDateConvert
.
instance
);
objectMapper
.
setSerializationInclusion
(
JsonInclude
.
Include
.
ALWAYS
);
objectMapper
.
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
mappingJackson2HttpMessageConverter
.
setObjectMapper
(
objectMapper
);
// 设置中文编码格式
List
<
MediaType
>
list
=
new
ArrayList
<
MediaType
>();
list
.
add
(
MediaType
.
APPLICATION_JSON_UTF8
);
mappingJackson2HttpMessageConverter
.
setSupportedMediaTypes
(
list
);
return
mappingJackson2HttpMessageConverter
;
}
// 表单格式 全局日期转换器
@Bean
@Autowired
public
ConversionService
getConversionService
(
GlobalFormDateConvert
globalDateConvert
)
{
ConversionServiceFactoryBean
factoryBean
=
new
ConversionServiceFactoryBean
();
Set
<
Converter
>
converters
=
new
HashSet
<>();
converters
.
add
(
globalDateConvert
);
factoryBean
.
setConverters
(
converters
);
return
factoryBean
.
getObject
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论