Android Datepicker在格式化时返回奇怪的值

时间:2019-06-27 16:27:44

标签: java android date-formatting

我对日期选择器有疑问。当我选择日期。我想将其解析为d / m / yy格式。不幸的是,它不能正常工作。
返回的字符串就像

  

7/67/89

 private SimpleDateFormat sdf = new SimpleDateFormat("d/m/yy");
public void openDataPicker(View view) {
    clickedTextEdit = (TextInputEditText) view;
    final Calendar cldr = Calendar.getInstance();
    int day = cldr.get(Calendar.DAY_OF_MONTH);
    int month = cldr.get(Calendar.MONTH);
    int year = cldr.get(Calendar.YEAR);

    picker = new DatePickerDialog(CreateProfileActivity.this,
            new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                    Calendar c = Calendar.getInstance();
                    c.set(year, monthOfYear, dayOfMonth);
                    clickedTextEdit.setText(sdf.format(c.getTime()));
                }
            }, year, month, day);
    picker.show();
}

2 个答案:

答案 0 :(得分:2)

使用正确的格式。

看到这个:


"EEE, d MMM yyyy HH:mm:ss Z"   // Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"                // 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" // 2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" // 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u"                 // 2001-W27-3
"yyyy.MM.dd G 'at' HH:mm:ss z" // 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"             // Wed, Jul 4, '01
"h:mm a"                       // 12:08 PM
"hh 'o''clock' a, zzzz"        // 12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                    // 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" // 02001.July.04 AD 12:08 PM``

答案 1 :(得分:1)

您在"d/m/yy"中的格式SimpleDateFormat表示:

  

d =月份的日期

     

m =分钟,非月份

     

yy =年

您需要的格式为 dd / MM / yy

您可以在Android SimpleDateFormat Page上找到更多格式。