【问题标题】:Date Conversion from String to sql Date in Java giving different output? [duplicate]Java中从字符串到sql日期的日期转换给出不同的输出? [复制]
【发布时间】:2012-05-11 21:41:33
【问题描述】:

我有一个字符串形式的日期。我必须将其更改为 Sql Date。所以为此我使用了以下代码。

String startDate="01-02-2013";
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy");
java.util.Date date = sdf1.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());  

当我使用上面的代码并运行它时。我得到以下输出。

2013-01-01.  

此处月份未正确转换。
请告诉我问题出在哪里并提供示例代码以获得正确的结果?

【问题讨论】:

  • 我建议你不要使用 SimpleDateFormat 和两个 Date 类。这些类设计不佳且过时已久,尤其是第一个类是出了名的麻烦。而是使用来自java.time, the modern Java date and time APILocalDateDateTimeFormatter

标签: java date type-conversion


【解决方案1】:

mm分钟。你想要MM 几个月

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

不要难过 - 这个错误经常出现。

【讨论】:

  • 这确实出现了很多!
【解决方案2】:

mmstands for "minutes"。请改用MM

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

【讨论】:

    【解决方案3】:

    您需要使用MM,因为mm 代表分钟

    模式有两种生成方式。

    SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); //outputs month in numeric way, 2013-02-01
    
    SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); // Outputs months as follows, 2013-Feb-01
    

    全编码sn-p:

            String startDate="01-Feb-2013"; // Input String
            SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern
            java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern
            java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
            System.out.println(sqlStartDate); // Outputs : 2013-02-01
    

    【讨论】:

      【解决方案4】:

      这就是将string转换为util date和sql date的简单方法

      String startDate="12-31-2014";
      SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
      java.util.Date date = sdf1.parse(startDate);
      java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 
      

      【讨论】:

      • 对代码进行一些注释会很有用。
      【解决方案5】:

      在使用日期格式时,您可能需要记住始终使用 MM 表示月份,使用 mm 表示分钟。这应该可以解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-19
        相关资源
        最近更新 更多