简体   繁体   English

将To_TimeStamp函数转换为Java

[英]Convert To_TimeStamp function to java

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')

So in oracle there are function like To_Date, To_TimeStamp etc. I wanted to convert the oracle style to java simpleDateFormat however I keep getting unparsable date error I was wondering if anyone able to see what I cannot see. 因此,在oracle中有To_Date,To_TimeStamp等函数。我想将oracle样式转换为java simpleDateFormat,但是我一直遇到无法解析的日期错误,我想知道是否有人能够看到我看不到的东西。

There is problem in your java date format and your date input they dont match so java is unable to parse. 您的Java日期格式和日期输入不匹配,因此存在问题,因此Java无法解析。 Like you specify "-" date separator in format and providing date with "/" same with time separator. 就像您以格式指定“-”日期分隔符,并为日期提供“ /”和时间分隔符一样。 Try code below it will parse the date 尝试下面的代码将解析日期


    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());
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM