String startDateStr = "2017-02-03"
DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD",Locale.US);
Date date = (Date)formatter.parse(startDateStr);
2017-02-03 日期被解析为 Tue Jan 03 00:00:00 GMT + 05:45 2017
我有没有? 想念什么?
更新
我需要一个字符串转换为日期对象 同时保持相同的格式。
原因是我想使用public boolean after(Date when)
方法
答案 0 :(得分:3)
这将起作用^ _ ^
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy");
String startDateStr ="2017-02-03";
Date date = null;
try {
date = inputFormat.parse(startDateStr);
String startDateStrNewFormat = outputFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
对你的输出的解释很少:
D
是一年中的一天(1-365)
d
是每月(1-31)
检查document
答案 1 :(得分:2)
是的,你错过了什么。您在yyyy-MM- DD 格式字符串中使用DD
代替dd
。这是你如何做到的:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(new Date());
答案 2 :(得分:1)
使用SimpleDateFormat类型作为fomatter。您正在创建DateFormat对象,但使用的是SimpleDateFormat。
String startDateStr = "2017-02-03"
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
Date date = (Date)formatter.parse(startDateStr);