java - 如何在android中检查用户输入的字符串是否为mm/dd/yyyy格式?

标签 java android

我的应用程序中有一个文本编辑器,用户可以输入格式为 mm/dd/yyyy 的日期。我必须检查输入的值是否为 mm/dd/yyyy 格式。如果不是,我必须显示编辑文本错误。

我该怎么做?

private final DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
    @SuppressLint("SetTextI18n")
    public void onDateSet(DatePicker view, int selectedYear,
                          int selectedMonth, int selectedDay) {
        m_Dob.setText((selectedMonth + 1) + "/" + selectedDay + "/" + selectedYear);
    }
};
m_dateBtn = (AppCompatImageButton) findViewById(R.id.date_Btn);
m_dateBtn.setOnClickListener(this);
Calendar cal = Calendar.getInstance();
day = cal.get(Calendar.DAY_OF_MONTH);
month = cal.get(Calendar.MONTH);
year = cal.get(Calendar.YEAR);

protected Dialog onCreateDialog(int id) {
    return new DatePickerDialog(this, datePickerListener, year, month, day);
}

最佳答案

您可以像这样使用 DateFormat :

public void isCorrectDateFormat(String value, String format)
    try {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        date = sdf.parse(value);
        return value.equals(sdf.format(date)));
    } catch (ParseException ex) {
        ex.printStackTrace();
        return false;
    }
}

关于java - 如何在android中检查用户输入的字符串是否为mm/dd/yyyy格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373728/

相关文章:

java - java中如何获取token

java - 根据合并标准有效地合并列表

java - 将对话从一个 Activity 传递到另一个 Activity

java - 如何使用点幻灯片注册 Activity

android - 使用 for 循环以编程方式将元素添加到 FrameLayout

java.lang.NullPointerException 在 android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java :224)

java - P2P搜索引擎 yacy : where is the source code?

android - 撤消git命令 - 在android studio中重置磁头(硬)

android - ionic : Share specific page via social media

android - 无法恢复我的 android c++ 游戏的状态(state->savedState 始终为 NULL)