在SQL中将Date转换为简单的DD-MM-YYYY HH24:MI:SS格式

时间:2016-01-13 09:39:37

标签: java sql oracle date

我将日期作为字符串传递,格式为:

Fri Dec 04 01:00:00 CST 2015

任何人都知道如何在Oracle中将其转换为DD-MM-YYYY HH24:MI:SS格式?我正在寻找样品,但似乎找不到任何样品。

结果应该是:

04-12-2015 01:00:00

(不确定时间是否正确,因为它有CST)

我可以将字符串传递给Java,所以如果有更简单的方法可以在Java中对其进行转换,那么我就可以了。

2 个答案:

答案 0 :(得分:2)

您可以使用Date将此字符串从数据库解析为Java中的SimpleDateFormat

正确的格式为EEE MMM dd HH:mm:ss z yyyy

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Date date = sdf.parse(dateFromDatabase);

将日期作为日期后,您可以使用新的SimpleDateFormat以任何格式设置日期格式。

SimpleDateFormat desiredFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String result = desiredFormat.format(date);

答案 1 :(得分:1)

您可以使用以下查询获取所需的输出

SELECT TO_CHAR(TO_TIMESTAMP_TZ('Fri Dec 04 01:00:00 CST 2015', 
                               'DY Mon DD HH24:MI:SS TZR YYYY'), 'DD-MM-YYYY HH24:MI:SS') 
       FROM DUAL;

<强>输出

04-12-2015 01:00:00