Java 将字符串转换为日期

Posted

技术标签:

【中文标题】Java 将字符串转换为日期【英文标题】:Java Cast String to Date 【发布时间】:2016-09-07 18:11:52 【问题描述】:

如何将java.lang.String 转换为java.sql.Date 以获得以下值:'12/03/2016'

我试过这个:

@Override
public int insertNewApplication(StudenDetails sd)

    String sql = "INSERT INTO student_details"
            + "(applicant_name, applsex, "
            + "designation, date_of_superannuation, "
            + "ou_code, residential_address, "
            + "phone_no, mobile_no,email_id,token_user_id,token_password, "
            + "staff_status,office_type_code) VALUES (?, ?, ?,to(?,'DD/MM/YYYY'), ?, ?, ?, ?, ?, ?, ?,?,?)";

    return jdbcTemplate.update(sql, new Object[] 
            tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),tpd.getDate_of_superannuation(),tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(),
            tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code()
            );


【问题讨论】:

请更具体。你有什么问题?你想达到什么目的?请相应地编辑问题。 【参考方案1】:

不幸的是,在将字符串转换为日期时,RDBMS 之间并没有一种被广泛接受的标准方法。在您标记的 Postgres 中,您可以使用 to_date 函数:

to_date(?, 'DD/MM/YY')

恕我直言,更好的方法是在 Java 中进行这种转换,使您的应用程序更加便携:

private static final SimpleDateFormat FORMAT_CONVERTER = 

@Override
public int insertNewApplication(StudenDetails sd)

    String sql = "INSERT INTO student_details"
            + "(applicant_name, applsex, "
            + "designation, date_of_superannuation, "
            + "ou_code, residential_address, "
            + "phone_no, mobile_no,email_id,token_user_id,token_password, "
            + "staff_status,office_type_code) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?)";
    Date date = FORMAT_CONVERTER.parse(tpd.getDate_of_superannuation());

    return jdbcTemplate.update(sql, new Object[] 
            tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),date,tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(),
            tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code()
            );

【讨论】:

以上是关于Java 将字符串转换为日期的主要内容,如果未能解决你的问题,请参考以下文章

java字符串转换成日期

Java 将字符串转换为日期

java 字符串转换成日期

如何将 Java 日期字符串/对象转换为 JFreeChart 日期格式?

java怎么将String转换成日期

java.text.ParseException:无法解析的日期:将 mm/dd/yyyy 字符串转换为日期