Android dateformat显示格式无效

时间:2013-10-17 09:56:28

标签: android

这可能很容易,我可能没有看到明显的,但我想知道如何将日期从字符串转换为我想要的格式1小时。

String date_begin = "15-10-2013 10:25:31";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // This is the format I want
Date startDate;
try {
    startDate = df.parse(date_begin);
    String startDateString1 = df.format(startDate);
    Log.e("New date: ", startDateString1);      
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

输出如下:

  

新约会:(2799):0021-04-04 10:25:31

如何显示此输出?

3 个答案:

答案 0 :(得分:3)

15-10-2013 10:25:31不是yyyy-MM-dd HH:mm:ss格式。用dd-MM-yyyy HH:mm:ss解析它。

看起来您想要更改格式。解决方案是使用两个SimpleDateFormat,一个用于解析,另一个用于格式化输出。像这样:

DateFormat inputFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
DateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startDate = inputFormat.parse(date_begin);
String startDateString1 = outputFormat.format(startDate);
Log.e("New date: ", startDateString1);

答案 1 :(得分:2)

你必须用不同的格式解析日期

SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");

答案 2 :(得分:0)

date_begin,SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)的格式不相同。两者都应采用相同的格式。