作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用日期选择器和时间选择器对话框创建一个 unix 时间戳,但出现的问题是这一天总是差一个。例如。如果我选择 5 月 10 日,它将显示 5 月 11 日作为输出。然而,其他一切似乎都没有问题。任何建议都会很棒。
日期和时间选择器代码如下...
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
confirmDateChange();
}
};
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
mDateSetListener,
mYear, mMonth, mDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
}
接下来我调用它来获取时间戳
private long componentTimeToTimestamp(int year, int month, int day, int hour, int minute) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
return (c.getTimeInMillis()/1000L);
}
最后,这会在 TextView 中设置值,但就像我说的,每个月的日期总是相差一个
long mydate = componentTimeToTimestamp(mYear, mMonth, mDay, mHour, mMinute);
long datemod = mydate * 1000;
final java.util.Date d = new java.util.Date(datemod);
details.setText(d.toLocaleString());
最佳答案
虽然你在评论中找到了答案。但你一定已经在这里回答了,因为大多数人不会混淆它没有得到回答。请阅读评论然后寻找这个答案
c.set(year, month, day, hour, minute, 0);
关于java - Android DatePicker 一个月中的某一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5996659/
我是一名优秀的程序员,十分优秀!