代码之家  ›  专栏  ›  技术社区  ›  Amol Borkar

从单独的日期和时间文件中获取时间

  •  0
  • Amol Borkar  · 技术社区  · 6 年前

    我正在创建一个屏幕,以便在我的应用程序中安排会议。我有一个日历视图,用来获取日期,还有一个时间选择器来选择会议的时间。我想将这些数据(日期+时间)以毫秒的形式存储,这样我就可以对其进行计算了。

    0 回复  |  直到 6 年前
        1
  •  0
  •   Chiara    6 年前

    也许这会有帮助:

    CalendarView不包含时间信息(因为它只是日历)。如果您想保留时间信息并仅应用选定的日期,请尝试使用Calendar.set()方法,如下所示

    原始答复: CalendarView getDate() does not return time

    您使用: calendar.set(year, month, dayOfMonth); OnDateChangeListener

    然后,您可以对 TimePicker 以及设置小时、分钟和秒。

        2
  •  0
  •   Community Mohan Dere    6 年前

    空气污染指数第26级

    您只需要使用正确的方法,而不是调用构造函数。使用parse创建本地日期和本地时间对象,然后将这两个对象传递给LocalDateTime方法。在此之后,将其转换为毫秒。

        LocalDate datePart = LocalDate.parse("2020-04-28");
        LocalTime timePart = LocalTime.parse("12:05:06");
        LocalDateTime dt = LocalDateTime.of(datePart, timePart);
        System.out.println(dt.toString());
        long timeInMilliseconds = dt.atOffset(ZoneOffset.UTC).toInstant().toEpochMilli();
        System.out.println(timeInMilliseconds);
    

    使用日历对象:

            try {
                Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2020-04-28");
                Date startHour = new SimpleDateFormat("HH:mm").parse("12:05");
                Date combinedDate = combine(date, startHour);
                System.out.println(combinedDate.toString());
                System.out.println("Milli Seconds: " + combinedDate.getTime());
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        private static Date combine(Date date, Date time) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(time);
            int hour = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            cal.setTime(date);
            cal.set(Calendar.HOUR_OF_DAY, hour);
            cal.set(Calendar.MINUTE, min);
            return cal.getTime();
        }