【发布时间】:2021-12-16 12:57:38
【问题描述】:
我有一个 String 代表一个日期。
String date_s = "2011-01-18 00:00:00.0";
我想将其转换为Date 并以YYYY-MM-DD 格式输出。
2011-01-18
我怎样才能做到这一点?
好的,根据我在下面检索到的答案,这是我尝试过的:
String date_s = " 2011-01-18 00:00:00.0";
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
Date date = dt.parse(date_s);
SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
System.out.println(dt1.format(date));
但它输出 02011-00-1 而不是所需的 2011-01-18。我做错了什么?
【问题讨论】:
-
yyyyy 与 yyyy 不同。 :)
-
一个回旋镖问题。你的用例是什么?因为您可能应该使用内置模式 (DateFormat.getDateTimeInstance())。
-
月份在格式字符串中用 MM 表示,而不是像上面的示例中那样用 mm 表示。 mm 表示分钟。
-
我将 yyyy-mm-dd 更改为 yyyy-MM-dd,因为初始版本不起作用
-
"mm" 是分钟数 :)
标签: java string date formatting date-format