【问题标题】:String to Date, not accordance [duplicate]字符串到日期,不符合[重复]
【发布时间】:2018-08-31 07:52:11
【问题描述】:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class formatTest {
    public static void main(String[] args){

        String str  = "2017-08-07 6:6:6";
        SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        try {
            Date d = sdf.parse(str);
            Date date = sdf.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

  • 欢迎来到 Stack Overflow!您的代码的预期结果是什么?你实际上得到了什么结果?当询问为什么您的代码没有按预期工作时,请始终清楚预期结果以及观察到的结果有何不同。以便我们为您提供帮助。
  • 我建议你避免使用SimpleDateFormat 类。它不仅过时了,而且出了名的麻烦(你的只是非常非常多的一个例子)。今天我们在java.time, the modern Java date and time API 中做得更好。
  • LocalDateTime.parse("2017-08-07 6:6:6", DateTimeFormatter.ofPattern("uuuu-MM-dd H:m:s"))。这会产生2017-08-07T06:06:06 的日期和时间。

标签: java string date simpledateformat datetime-parsing


【解决方案1】:

把 YYYY 改成 yyyy

    String str = "2017-08-07 06:06:06";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

【讨论】:

  • 您正在使用糟糕的日期时间类,这些类在几年前已被 java.time 类取代。
猜你喜欢
  • 2016-10-07
  • 1970-01-01
  • 2022-01-16
  • 2015-07-24
  • 2018-05-14
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多