0

我有一个布尔数组,从星期一开始,对应于工作日的 1-7。

现在,我想从星期一开始检索今天的星期几(即:星期一、星期二...)。我一直在使用这段代码:

Calendar c = Calendar.getInstance();
int index = c.get(Calendar.DAY_OF_WEEK)-1;//array starts on 0 and DAY_OF_WEEK on 1

但是由于 Calendar.getInstance() 是本地化的,我认为根据用户的位置,星期一可能对应于 1 或 0。现在,我想知道的是,如果用户的位置发生变化, DAY_OF_WEEK 会不会改变?

你能帮我弄清楚吗?

谢谢。

4

3 回答 3

3

Calendar.get(DAY_OF_WEEK)无论语言环境是什么,总是返回CALENDAR.SUNDAY, Calendar.MONDAY, ...,之一。Calendar.SATURDAY这些是常数,分别是 1, 2, ... 7。

因此,如果您的布尔数组从星期一(索引 0)开始并在星期日(索引 6)结束,您只需要这个:

int calendarDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int myDayOfWeek = calendarDayOfWeek - 2;
if (myDayOfWeek < 0) {
    myDayOfWeek += 7;
}
于 2013-06-02T13:17:32.340 回答
1

好吧,如果您想获得今天的日期,那么您应该使用 String :

ActionBar actionBar = getActionBar();
String dateString = (String) android.text.format.DateFormat.format("yyyy/MM/dd", new java.util.Date());
actionBar.setTitle(dateString); 

如果你愿意,你可以删除第一行,我用我的操作栏做了这个。

我希望它有帮助..

你也可以在这里找到答案:

你如何在Android中格式化日期和时间?

于 2013-06-02T13:11:37.127 回答
0

得到今天的星期几..

试试这样

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String dayOfTheWeek = sdf.format(d);
于 2013-06-02T13:10:51.420 回答