我尝试将数字(mm/dd/yyyy
)转换为日期(20150302 ====> 03/02/2015
)
例如
Map<String, Object> beansWithAnnotation = applicationContext.getBeansWithAnnotation(Path.class);
Collection<Object> values = beansWithAnnotation.values();
for (Object next : values) {
ResourceUtil.getResourceUrls(next);
}
public static List<String> getResourceUrls(Object obj)
{
Resource resource = Resource.from(obj.getClass());
String uriPrefix = resource.getPath();
List<String> urls = new ArrayList<>();
for (Resource res :resource.getChildResources())
{
String uri = uriPrefix + res.getPath();
urls.add(uri);
}
return urls;
}
答案 0 :(得分:8)
你可以试试这个:
select to_date(20150302,'yyyymmdd') from dual;
或
select to_char(to_date(20150302,'yyyymmdd'),'mm/dd/yyyy') from dual;
答案 1 :(得分:1)
您可以使用 TO_DATE 功能将NUMBER
转换为DATE
。请尝试以下方法:
SELECT TO_DATE(20150302, 'YYYYMMDD') FROM DUAL
答案 2 :(得分:0)
TO_DATE 接受CHAR
,VARCHAR2
,NCHAR
或NVARCHAR2
数据类型的字符,并转换为值 DATE < / strong>数据类型。
因此,将数字转换为字符串,并应用to_date。您可以在数字周围使用单引号将其转换为字符串。
SELECT TO_DATE('20150302', 'YYYYMMDD') FROM dual;
请记住,DATE没有格式,您看到的是用于显示目的。如果要以所需格式显示日期,请使用 TO_CHAR 以及所需的格式模型。
SELECT TO_CHAR(TO_DATE('20150302', 'YYYYMMDD'), 'mm/dd/yyyy') FROM dual;
详细了解TO_DATE。
答案 3 :(得分:0)
要以所需的格式进行转换,
select to_char(to_date(20150302, 'YYYYDDMM'), 'mm/dd/yyyy')
答案 4 :(得分:0)
上面的答案仍然不正确。 当需要日期时,它返回一个字符串。 正确的做法是:
select to_date(to_char(20210416), 'YYYYMMDD') num_to_char_to_date from dual;