如何使用 DatePicker 编辑我的日期?
Posted
技术标签:
【中文标题】如何使用 DatePicker 编辑我的日期?【英文标题】:How can I edit my dates with a DatePicker? 【发布时间】:2019-03-05 07:30:36 【问题描述】:我正在使用两个不同的日期选择器来选择开始日期和结束日期。对于我选择的年月日,我想获取那天开始的时刻。例如 2018 年 9 月 18 日、2018 年 9 月 18 日和小时 00.00 .如果可能,我想禁用 GMT
差异。通过datepicker
,我分享了我选择的日期的日志。
D/START DATE: Sun Sep 23 18:23:51 GMT+03:00 2018
D/END DATE: Sun Sep 30 18:23:51 GMT+03:00 2018
我想要的日志如下:
D/START DATE: Sun Sep 23 00:00:00 2018
D/END DATE: Sun Sep 30 23:59:59 2018
这意味着开始日期内的任何时间都必须有效,并且在结束日期结束之前的任何时间都必须是结束日期。我该如何做到这一点?
【问题讨论】:
考虑 java.time,现代 Java 日期和时间 API。通常使用起来会更好,尤其是更适合像您这样的过滤任务。如果您正在为更少的新 android 编写代码,请将 ThreeTenABP 库添加到您的项目中以使用 java.time,请参阅How to use ThreeTenABP in Android Project。 使用半开间隔:当用户选择 9 月 23 日和 30 日时,包括 9 月 23 日或之后的 00:00 以及严格在 10 月 1 日 00:00 之前的时间乙>。请务必保留 GMT 偏移量,否则您将无法判断时间是在这些限制之前还是之后。 【参考方案1】:您可以像这样更改日历值:
yourTime.set(Calendar.HOUR_OF_DAY,0);
yourTime.set(Calendar.MINUTE,0);
yourTime.set(Calendar.SECOND,0);
或者
yourTime.set(Calendar.HOUR_OF_DAY,23);
yourTime.set(Calendar.MINUTE,59);
yourTime.set(Calendar.SECOND,59);
yourTime 是 Calendar 实例。希望对您有所帮助。
【讨论】:
【参考方案2】:https://developer.android.com/reference/java/text/SimpleDateFormat
String dateOfDay = new SimpleDateFormat("dd MM yyyy").format(new Date());
String time = android.text.format.DateFormat.format("HH:mm:ss", new Date().getTime()).toString();
这可能是您正在寻找的答案。您还可以在顶部链接中找到快捷方式。
【讨论】:
以上是关于如何使用 DatePicker 编辑我的日期?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JQuery Datepicker 中禁用以前的日期
如何在文本字段单击时弹出 datePicker 并在编辑完成后消失
如何使用 Expression Blend 在 WPF 中编辑 DatePicker 的水印