代号在当前一周或一个月内离开一天
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代号在当前一周或一个月内离开一天相关的知识,希望对你有一定的参考价值。
我正在构建一个日历应用程序,需要计算(1)当前周和(2)当前月的剩余天数。
我试过的是使用java.util.Calendar API,但似乎并不完全支持。
int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
我怎么在CN1做这个?
提前谢谢了。
答案
我们希望在未来增加对JSR310的支持,这可能会以更优雅的方式解决这个问题。这可以作为cn1lib完成而无需修改Codename One但需要一些工作...
这样做的一点点是:
int month = cal.get(Calendar.MONTH);
cal.set(Calendar.DAY_OF_MONTH, 1);
if(month == cal.DECEMBER) {
cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) + 1);
cal.set(Calendar.MONTH, Calendar.JANUARY);
} else {
cal.set(Calendar.MONTH, month + 1);
}
int day = 24 * 60 * 60000;
cal.setTime(new Date(cal.getTime().getTime() - day));
另一答案
我不知道CN1,但您可以使用最大值和当前值之间的减法来计算值:
(1) cal.getActualMaximum(Calendar.DAY_OF_WEEK) - cal.get(Calendar.DAY_OF_WEEK)
(2) cal.getActualMaximum(Calendar.DAY_OF_MONTH) - cal.get(Calendar.DAY_OF_MONTH)
对于您的通知:一周的第一天是在日历的api中的星期日。如果您的周应该从星期一开始,您必须将偏差减少1。
以上是关于代号在当前一周或一个月内离开一天的主要内容,如果未能解决你的问题,请参考以下文章