比较Android时间?

问题描述 投票:1回答:1

我有两次打开和关闭。我想生成尽可能多的插槽,以固定的分钟数可以容纳在定义的范围内。例如,开放时间:12:30 pm和关闭时间:3:30 pm。因此,在这个特定范围内,我必须增加分钟数,例如每次增加15分钟,直到时间接近结束时间。就像12:45,12:30,........,3:15,3:30 pm正是在这里我想完成循环,但就我而言,它从12:30上升到12:06 am pm

        String newTime = "";
        SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm a");
        Date date = dateFormat.parse(_model.getClinic_time_from());
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("hh:mm a");
        Date date1 = dateFormat1.parse(_model.getClinic_time_to());

        Date temp = date;
        while (date1.compareTo(temp) < 0)
            {
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(temp);
                calendar.add(Calendar.MINUTE, Integer.parseInt(_model.getSlot()));
                newTime = dateFormat.format(calendar.getTime());
                Apt_time_model ap = new Apt_time_model(dateFormat.format(temp.getTime()),newTime,"no status");

                    Apt_time_model ap1 = new Apt_time_model(ap.getApt_time_from(), ap.getApt_time_to(),ap.getStatus());
                    list.add(ap1);
                temp = dateFormat.parse(newTime);
            }
java android android-calendar android-timepicker android-timer
1个回答
1
投票

您正在使用可怕的日期-日期类,而这些类早已被JSR 310中定义的现代java.time类所取代。有关较旧的Java,请参见ThreeTen-Backport项目。对于较旧的Android,请参见ThreeTenABP项目。

对于没有日期和时区的一天中的时间,请使用LocalTime类。

[12:30 pm和关闭时间:3:30 pm

LocalTime

以15分钟为增量,直到达到关闭时间。

LocalTime open = LocalTime.of( 12 , 30 ) ;
LocalTime close = LocalTime.of( 15 , 30 ) ;

关于java.time

List< LocalTime > slots = new ArrayList<>() ; LocalTime lt = open ; while( lt.isBefore( close ) ) { slots.add( lt ) ; lt = lt.plusMinutes( 15 ) ; } 框架内置于Java 8及更高版本中。这些类取代了麻烦的旧java.time日期时间类,例如legacyjava.util.Datejava.util.Date

要了解更多信息,请参见Calendar。并在Stack Overflow中搜索许多示例和说明。规格为Calendar

SimpleDateFormat项目现在位于SimpleDateFormat中,建议迁移到Oracle Tutorial类。

您可以直接与数据库交换java.time对象。使用兼容JSR 310或更高版本的Joda-Time。不需要字符串,不需要maintenance mode类。

从哪里获取java.time类?

Android
© www.soinside.com 2019 - 2024. All rights reserved.