【发布时间】:2020-03-30 23:57:37
【问题描述】:
我正在尝试将字符串日期解析为特定的日期格式,但是当我使用SimpleDateFormat 提供的选项时,我总是得到不同的结果。这是我要解析的字符串:
String datetToParse = ""2019-07-04 00:32:08:627158"" into 04-JUL-19 12.32.08.627158000 AM.
我可以使用 simpledateformat 或任何其他日期格式化程序来实现这一点吗?任何帮助将不胜感激。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormat {
public static void main(String[] args) {
String date = "2019-07-04 00:32:08:627158";
SimpleDateFormat sf = new SimpleDateFormat("yymmdd");
Date d = null;
try {
d= sf.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(d);
}
}
【问题讨论】:
-
你期待什么输出?
-
你的输入看起来像
190704吗?那你为什么要用那种格式来解析它呢?mm也是分钟(所以这将是193204... 即您的格式不正确)。这是一个有用的技巧:System.out.println(sf.format(new Date()));如果这看起来不像您的输入,那么格式不正确。 -
@ElliottFrisch 是的,我的格式不正确,我尝试了 simpedateformat 中的许多其他选项,但无法获得所需的输出。这是我的愿望输出:04-JUL-19 12.32.08.627158000 AM。
-
在尝试创建输出之前先解析输入。警告的话,您的格式似乎包括纳秒;这不容易解析。
-
如何在输出中得到
12 AM?你在找这个2019-Jul-04 00:32:08:627158000 AM@MaheshMishra 吗?
标签: java