首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.calendar行为怪异

java.util.calendar行为怪异
EN

Stack Overflow用户
提问于 2013-08-22 18:58:15
回答 2查看 175关注 0票数 0

因此,我找到了java.util.Calendar,并试图将它用于我正在进行的一个安卓项目。

我一点也不明白Calendar.DAY_OF_WEEK怎么能在星期四返回7点?现在,当是八月,Calendar.WEEK_OF_YEAR返回4,这根本没有任何意义!

我也尝试过GregorianCalendar,它给出的结果完全一样。

我试图找到任何关于他们如何计数的文档,但我什么也找不到。似乎有很明显的东西,但我就是找不出它是什么!

我写的代码如下:

代码语言:javascript
复制
    // Get if daily or weekly
    boolean daily;
    daily = getPrefs.getBoolean("checkbox_daily", false);
    String day = "0";
    if (daily){
        switch(GregorianCalendar.DAY_OF_WEEK){
            case GregorianCalendar.MONDAY:
                Do_stuff();
                break;
            case GregorianCalendar.TUESDAY:
                Do_stuff();
                break;
            case GregorianCalendar.WEDNESDAY:
                Do_stuff();
                break;
            case GregorianCalendar.THURSDAY:
                Do_stuff();
                break;
            case GregorianCalendar.FRIDAY:
                Do_stuff();
                break;
        }
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-22 18:59:04

GregorianCalendar.DAY_OF_WEEK是常数,

你需要calendarInstance.get(GregorianCalendar.DAY_OF_WEEK);

票数 8
EN

Stack Overflow用户

发布于 2013-08-22 19:03:29

来自java.util.Calendar文档:

日历使用两个参数定义了特定于地区的七天一周:一周的第一天和第一周的最小天数(从1到7)。这些数字是在构造日历时从地区资源数据中提取的。还可以通过设置值的方法显式地指定它们。 在设置或获取WEEK_OF_MONTH或WEEK_OF_YEAR字段时,日历必须确定月份或年度的第一周作为参考点。一个月或一年的第一周被定义为从getFirstDayOfWeek()开始的最早的七天周期,其中至少包含该月份或年份的getMinimalDaysInFirstWeek()天。编号为.,-1,0的周在第一周之前;第2,3周,.跟着它。请注意,get()返回的规范化编号可能不同。例如,特定的Calendar子类可以将一年中第一周之前的一周指定为前一年的n周。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18388749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档