java程序日历记事本中:日历.set(month, month-1, 1);里面的参数是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序日历记事本中:日历.set(month, month-1, 1);里面的参数是啥意思?相关的知识,希望对你有一定的参考价值。
还有奥,星期几=日历.get(Calendar.DAY_OF_WEEK)-1;这句为什么要减1?
我们知道DAY_OF_WEEK是获取当前日期是一周中的第几天,而一周从周日算起,因此当我们取得这个值之后,为了要正确的截取出随后的字符串中的那个中文字符,因此它需要减1来达到目的。你只要跟踪一下程序运行,观察变量的赋值就会理解它这样编写的用意了。追问十分感谢!
参考技术A Calendar.get(Calendar.DAY_OF_WEEK)-1 如果没记错 sunday是0 周一是1 get(Calendar.DAY_OF_WEEK)对应的是1-7月份是从0开始的set(month, month-1, 1);第一个应该是year 第二个月 第三个日追问
也就是说应该是set(year,month-1,1)吗?那month为什么会减1呢?
追答月份是从0开始的 你传的1月要存成0的 当然减一
本回答被提问者采纳java日历返回错误的hour_of_day
【中文标题】java日历返回错误的hour_of_day【英文标题】:java calendar returns wrong hour_of_day 【发布时间】:2016-10-16 03:25:09 【问题描述】:我有以下代码:
Calendar cal= Calendar.getInstance();
cal.set(Calendar.YEAR, 1994);
cal.set(Calendar.MONTH, 03);
cal.set(Calendar.DAY_OF_MONTH,1);
cal.set(Calendar.HOUR_OF_DAY, 0);
运行后我期望:
cal.get(Calendar.HOUR_OF_DAY);
返回0,但返回1。
如果我使用不同的年份/月份,它可以正常工作。 此外,再设置一个小时也可以,它只发生在 0 小时。
1994 年 4 月有什么特别之处吗?我在这里错过了什么?
提前致谢。
【问题讨论】:
按预期给我 0:ideone.com/85WUH0 奇怪...也许是时区问题?感谢您的检查 【参考方案1】:我使用的是以色列 TZ,由于 DST 过渡,94 年 4 月 1 日的 0 小时不存在。
【讨论】:
以上是关于java程序日历记事本中:日历.set(month, month-1, 1);里面的参数是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章