【问题标题】:Convert To_TimeStamp function to java将 To_TimeStamp 函数转换为 java
【发布时间】:2015-08-25 19:55:48
【问题描述】:
package testOnly;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Tests {
    public static void main(String[] args) throws Exception {

        Tests test = new Tests();
        String s = "8/24/2015 3:09:51.000000 AM"; 
        String s2 = "fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM";
        test.to_timestamp(s, s2);
    }

    Timestamp to_timestamp(String dateText, String oraclePattern) throws Exception {
        String javaDatePattern = null;
        if (oraclePattern.equals("fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM")) {
            javaDatePattern = "MM-dd-yyyy HH.mm.ss.SS a";
        }
        if (javaDatePattern==null) {
            throw new RuntimeException("Unhandled oracle date pattern");
        }

        SimpleDateFormat sdf = new SimpleDateFormat(javaDatePattern);

        Date date= sdf.parse(dateText);
        return new Timestamp(date.getTime());
    }
}
//Sample data 
//TO_TIMESTAMP('8/24/2015 3:09:51.000000 AM','fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM')

所以在 oracle 中有 To_Date、To_TimeStamp 等函数。我想将 oracle 样式转换为 java simpleDateFormat 但是我不断收到无法解析的日期错误我想知道是否有人能够看到我看不到的内容。

【问题讨论】:

  • 为什么?您是否有理由保留时间戳 strings 而不是实际的 Date 对象?另请注意,您方法中的oraclePattern 参数仅用作标志,并没有将其用作字符串。

标签: java oracle date


【解决方案1】:

您的 java 日期格式存在问题,您的日期输入不匹配,因此 java 无法解析。就像您在格式中指定“-”日期分隔符并使用“/”提供日期与时间分隔符一样。试试下面的代码,它会解析日期


    import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Tests {
    public static void main(String[] args) throws Exception {

        Tests test = new Tests();
        String s = "8/24/2015 3:09:51.000000 AM"; 
        String s2 = "fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM";
        test.to_timestamp(s, s2);
    }

    Timestamp to_timestamp(String dateText, String oraclePattern) throws Exception {
        String javaDatePattern = null;
        if (oraclePattern.equals("fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM")) {
            javaDatePattern = "MM/dd/yyyy HH:mm:ss.SS a";
        }
        if (javaDatePattern==null) {
            throw new RuntimeException("Unhandled oracle date pattern");
        }

        SimpleDateFormat sdf = new SimpleDateFormat(javaDatePattern);

        Date date= sdf.parse(dateText);
        return new Timestamp(date.getTime());
    }
}

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 2017-09-14
    • 2023-02-23
    • 2016-02-27
    • 1970-01-01
    • 2020-07-17
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多