我有一个布尔数组,从星期一开始,对应于工作日,从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会不会改变?
你能帮我解决一下吗?
感谢。
答案 0 :(得分: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;
}
答案 1 :(得分:1)
如果你想得到今天的日期,你应该拿String:
ActionBar actionBar = getActionBar();
String dateString = (String) android.text.format.DateFormat.format("yyyy/MM/dd", new java.util.Date());
actionBar.setTitle(dateString);
如果你想要你可以删除第一行,我用我的动作栏做了这个。
我希望它有所帮助......
你也可以在这里找到答案:
答案 2 :(得分:0)
获取今天的一周...
试试这个
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String dayOfTheWeek = sdf.format(d);