代号在当前一周或一个月内离开一天

时间:2018-03-01 11:49:29

标签: date calendar codenameone

我正在构建一个日历应用程序,需要计算(1)当前周和(2)当前月的剩余天数。

我尝试过的是使用java.util.Calendar API,但似乎并不完全支持。

new HtmlWebpackPlugin({
    template: 'index.html',
    title: 'You app',
    alwaysWriteToDisk: true,
}),
new HtmlWebpackHarddiskPlugin(),
new webpack.HotModuleReplacementPlugin()

我如何在CN1中执行此操作?

非常感谢提前。

2 个答案:

答案 0 :(得分:1)

我不知道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。

答案 1 :(得分:1)

我们希望将来添加对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));