繁体   English   中英

在Android中解析yyyy-MM-DD字符串到日期yyyy-MM-DD?

[英]Parse yyyy-MM-DD String to Date yyyy-MM-DD in Android?

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)方法

这将工作^_^

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)

检查文件

在此处输入图片说明

是的,你错过了一些东西。 您在 yyyy-MM- DD格式字符串中使用了DD而不是dd 这是你如何做到的:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
String formattedDate = sdf.format(new Date());

使用 SimpleDateFormat 类型作为格式化程序。 您正在创建 DateFormat 对象,但使用的是 SimpleDateFormat。

String startDateStr = "2017-02-03"
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
Date date = (Date)formatter.parse(startDateStr);  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM