Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中解析yyyy MM DD字符串到日期yyyy MM DD?_Java_Android_Simpledateformat - Fatal编程技术网

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

Java 在Android中解析yyyy MM DD字符串到日期yyyy MM DD?,java,android,simpledateformat,Java,Android,Simpledateformat,2017-02-03日期解析为2017年1月3日星期二00:00:00 GMT+05:45 是吗 错过了什么 更新 我需要将字符串转换为日期对象 同时保持相同的格式 这样做的原因是我想使用public boolean after(Date-when)方法这将起作用^_^ String startDateStr = "2017-02-03" DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD",Locale.US); Date date

2017-02-03日期解析为2017年1月3日星期二00:00:00 GMT+05:45

是吗 错过了什么

更新

我需要将字符串转换为日期对象 同时保持相同的格式

这样做的原因是我想使用
public boolean after(Date-when)
方法

这将起作用^_^

String startDateStr = "2017-02-03"
DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD",Locale.US);
Date date = (Date)formatter.parse(startDateStr);    
对您的输出进行一点解释:

D
是一年中的一天(1-365)
d
是一个月中的一天(1-31)

检查


是的,你错过了什么。您在yyyy MM-DD格式字符串中使用了
DD
而不是
DD
。以下是您的操作方法:

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();
}

对fomatter使用SimpleDataFormat类型。您正在创建DateFormat对象,但使用的是SimpleDateFormat

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

我需要把它解析成yyyy-MM-DD,你找到解决办法了吗?我不明白你为什么对此有负面看法。甚至我也在寻找同样的
String startDateStr = "2017-02-03"
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
Date date = (Date)formatter.parse(startDateStr);