关于Calendar类使用中遇到的一些问题
Posted lorz5-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Calendar类使用中遇到的一些问题相关的知识,希望对你有一定的参考价值。
关于Calendar类使用中遇到的一些问题
1、为什么类似Calender.YEAR之类的字段的使用需要使用get方法来获取?
程序如下:
public class Test {
public static void main(String[] args) {
Calendar cc = Calendar.getInstance();
// 获取cc的年份
System.out.println("正确结果需要使用get方法 —————— " + cc.get(Calendar.YEAR));
System.out.println("直接打印字段 —————— " + Calendar.YEAR);
}
}
原因:
- Calendar类中的字段其实是一个个的常量,类型为int型,调用get方法其实是传递这些字段对应的int数值,再通过其他的手段获取到我们想要的正确含义的值
再一个例子:
// 获取“上午”还是“下午”的值
Calendar calendar = Calendar.getInstance();
if(calendar.get(Calendar.AM_PM) == 0) {
System.out.println("现在是上午哦");
} else {
System.out.println("现在是下午哦");
}
- 按照国际上的习惯,将晚上12:00到中午12:00之间的时间归为“AM”,即上午;将中午12:00到晚上12:00之间的时间归为“PM”,即下午。再准确的说是左闭右合,[0, 12) 为上午, AM_PM 值为 1 [12, 24)为下午,
- AM_PM 对应的常量值为 9
2、获取星期值的一些问题
代码如下:
// 获取星期几
String[] week = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.println(week[calendar.get(Calendar.DAY_OF_WEEK) - 1]);
- 按照国际上的习惯,将星期日作为每个星期的第一日
- Calendar.DAY_OF_WEEK 的确表示现在是星期几,但是是基一的标准,即“1”对应的日期为“星期日”,以此类推
以上是关于关于Calendar类使用中遇到的一些问题的主要内容,如果未能解决你的问题,请参考以下文章