【问题标题】:How to change the format of how a DatePicker Dialog inputs it in EditText如何更改 DatePicker 对话框在 EditText 中输入的格式
【发布时间】:2017-02-03 19:04:26
【问题描述】:
我有一个 EditText 和一个按钮,当我单击该按钮时,它会打开一个 DatePicker 并将所选日期输入到 EditBox 中。它以 24 小时格式执行此操作,这正是我想要的……但如果日期的部分是 1 位数字,它只会显示为 1 位数字。我想要做的是应用一种格式,这样如果它是 1 位数字,我希望它显示 2 位数字。像这样。 2017 年 3 月 2 日,我希望它是 2017 年 3 月 2 日。
Time 也在做同样的事情。我不确定代码的哪一部分也发布了,如果您需要代码以及什么,请告诉我,我会在这里发布。
【问题讨论】:
标签:
java
android
date
android-studio
datepicker
【解决方案1】:
几个选项:
使用 SimpleDateFormat 类。
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
editBox.setText(dateFormat.format(date));
格式字符串 MM/dd/yyyy 将提供您需要的内容。如果需要,您还可以通过更改格式字符串(例如“MM/dd/yyyy hh:mm:ss”)来显示时间值。这假设您正在显示存储在 Date 对象(在本例中称为 date)中的日期。
或者使用String.format,
editBox.setText(String.format("%02d/%02d/%04d",month,day,year));
%02 表示使用前导零的 2 个位置。
【解决方案2】:
试试这个:
int year = mDatePicker.getYear();
int month = mDatePicker.getMonth();
int day = mDatePicker.getDayOfMonth();
if(month < 10){
month = "0" + month;
}
if(day < 10){
day = "0" + day ;
}
myText.setText(day + "-" + month + "-" + year);