【发布时间】:2022-02-02 14:05:15
【问题描述】:
如何将当前日期(今天的日期)设置为我的本地日期。我的时区是 GMT+07:00。我只能设置 setSelection() 日期,但不能设置当前日期。 (对不起,我的任何语法错误,提前谢谢你) Calendar image
val c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:00"))
val gmtTime: Long = c.getTime().getTime()
c.setTimeZone(TimeZone.getTimeZone("Asia/Bangkok"));
val timezoneThailand: Long = gmtTime + TimeZone.getTimeZone("Asia/Bangkok").rawOffset
c.setTimeInMillis(timezoneThailand)
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)
// view.chooseDateButton.text = c.toString()
val calendarConstraintBuilder = CalendarConstraints.Builder()
calendarConstraintBuilder.setStart(1640995200000)
calendarConstraintBuilder.setEnd(1646092800000)
calendarConstraintBuilder.setValidator(DateValidatorPointBackward.now());
val materialDateBuilder = MaterialDatePicker.Builder.datePicker()
materialDateBuilder.setTitleText("SELECT DATE TO SHOW IMAGES");
materialDateBuilder.setSelection(c.timeInMillis)
// materialDateBuilder.setTheme(R.style.DefaultDatePickerTheme)
materialDateBuilder.setCalendarConstraints(calendarConstraintBuilder.build())
val materialDatePicker : MaterialDatePicker<*> = materialDateBuilder.build()
【问题讨论】:
-
它默认使用当前日期作为初始选择,因此您根本不必调用
setSelection()。您还可以使用MaterialDatePicker.todayInUtcMilliseconds()将当前日期作为 Long 传递给setSelection -
我的意思是初始选择与我的真实本地日期不匹配,初始当前日期也不匹配。
-
关闭一天了吗?您确定您的设备设置为正确的日期吗?它使用 UTC,因此您的时间线应该无关紧要。
-
是的,它会提前一天关闭。我很困惑我的设备设置绝对正确。 link
-
我当前的代码(上面的代码)是正确的日期,只选择了日期(绿色圆圈),但我想设置新的黑色空心圆圈日期。
标签: java android kotlin calendar material-design