我想创建一个时间表,每周一次。”>
因为时间表从一个星期到下一个星期是相同的,所以我唯一需要存储的信息是星期几及其发生的时间。例如。 “星期一2:30 pm”。实际日期并不重要,时区也不重要。
到目前为止,我已经使用DayOfWeek枚举和LocalTime类型来处理时间,并且将日期和时间分开编写代码。但是我开始遇到使用两个变量来管理时间而不是像DateTime这样的方便类型的问题。例如。如果我想在星期二晚上11点之后的3个小时有时间,可以使用LocalTime.plus()
方法来获取凌晨2点,但这不能解决白天的过渡问题,因此我必须分别进行检查和更新。 >
我还想确保从周末开始到开始我所拥有的所有解决方案都可以解决:例如。星期日晚上10点后5小时应为星期一上午3点。
JDK中是否存在这样的类,或者定义您自己的时间类型是否足够容易?还是使用java提供的LocalDateTime解决某些问题,而以某种方式忽略日期组件会更好吗?
我想创建一个时间表,每周一次。因为时间表从一个星期到下一个星期都是相同的,所以我唯一需要存储的信息是星期几,以及时间...
您可以为此使用Calendar
API。Calendar
API支持添加fields
。
Calendar calendar = Calendar.getInstance();
calendar.set( Calendar.DATE, Calendar.SUNDAY ); // Set the date to sunday
calendar.set( Calendar.HOUR, 10 ); // Set the hour to 10
System.out.println(calendar.getTime()); // This will print the current time
calendar.add( Calendar.HOUR, 5 ); // Add 5 hours to the current time
System.out.println(calendar.getTime()); // This prints the result