码迷,mamicode.com
首页 > 其他好文 > 详细

关于Calendar类使用中遇到的一些问题

时间:2020-11-01 10:12:04      阅读:12      评论:0      收藏:0      [点我收藏+]

标签:oid   ati   static   星期六   lan   原因   get   时间   test   

关于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类使用中遇到的一些问题

标签:oid   ati   static   星期六   lan   原因   get   时间   test   

原文地址:https://www.cnblogs.com/lorz5-blog/p/13906567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!