11

我想更改我的日期格式,即

String date ="29/07/13";

但它向我显示了* Unparseable date: "29/07/2013" (at offset 2) * 我想以这种格式获取日期 2013 年 7 月 29 日的错误。

这是我用来更改格式的代码。

tripDate = (TextView) findViewById(R.id.tripDate);
    SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy");
            try {
                oneWayTripDate = df.parse(date);
            } catch (ParseException e) {

                e.printStackTrace();
            }
            tripDate.setText(oneWayTripDate.toString());
4

3 回答 3

40

试试这样:

String date ="29/07/13";
SimpleDateFormat input = new SimpleDateFormat("dd/MM/yy");
SimpleDateFormat output = new SimpleDateFormat("dd MMM yyyy");
try {
    oneWayTripDate = input.parse(date);                 // parse input 
    tripDate.setText(output.format(oneWayTripDate));    // format output
} catch (ParseException e) {
    e.printStackTrace();
}

这是一个两步的过程:您首先需要将现有的 String 解析为 Date 对象。然后你需要将 Date 对象格式化为一个新的 String。

于 2013-07-29T07:37:02.213 回答
8

将格式字符串更改为MM/dd/yyyy, whileparse()并使用dd MMM yyyywhile format()

样本 :

String str ="29/07/2013";
// parse the String "29/07/2013" to a java.util.Date object
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(str);
// format the java.util.Date object to the desired format
String formattedDate = new SimpleDateFormat("dd MMM yyyy").format(date);
于 2013-07-29T07:34:17.677 回答
1
DateFormat df = new SimpleDateFormat("dd / MM / yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());
于 2017-07-18T07:09:11.683 回答