我正在为Android构建自定义应用程序。我已经实现了一个datepicker
对话框,选择一个时间需要时间。问题是时间选择器没有正确格式化我选择的内容(例如,如果选择了03
,datepicker
会返回3
)。
为解决此问题,我已实现此代码:
TimePickerDialog.OnTimeSetListener timePickerListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
hour = selectedHour;
minute = selectedMinute;
long date = calendarView.getDate();
DateFormat df = new DateFormat();
String format = (String) df.format("dd/MM/yyyy", date);
Date hourdate = new Date();
hourdate.setHours(hour);
hourdate.setMinutes(minute);
SimpleDateFormat hourformatter = new SimpleDateFormat("HH");
SimpleDateFormat minuteformatter = new SimpleDateFormat("mm");
String formattedhour = hourformatter.format(hourdate);
String formattedminute = minuteformatter.format(hourdate);
Log.v(StorybookContentProvider.TAG_LOG, "formattedhour" + Integer.parseInt(formattedminute) + formattedminute);
as.setDate(format);
as.setRangeStart("");
as.setRangeFinish("");
as.setHour(Integer.parseInt(formattedhour));
Log.v(StorybookContentProvider.TAG_LOG, "formattedhoursaving" + Integer.parseInt(formattedminute));
as.setMinutes(Integer.parseInt(formattedminute));
as.setTabColor(as.tabHost, true);
问题是:formattedhour
的格式是我想要的(如果选择03
它会返回03
),但如果我Integer.parseInt(formattedhour)
,则返回3 !它删除了格式。这是一个错误吗?
答案 0 :(得分:3)
没有错误。它按预期工作。
格式化用于显示目的,如果你想要03,则使用格式化的格式。使用整数时,前导零具有不同的含义,这就是为什么它将被视为3。
答案 1 :(得分:0)
你必须删除整数左边的零,然后才能正常工作