Java 日历:每周的当前日期是否本地化
我有一个布尔数组,它从1到7,对应于星期一开始的几天 现在,我想检索一周中的今天(即:周一、周二…),从周一开始。我一直在使用以下代码:Java 日历:每周的当前日期是否本地化,java,calendar,dayofweek,Java,Calendar,Dayofweek,我有一个布尔数组,它从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。现在,我想
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。现在,我想知道的是,如果用户的位置发生变化,那么一周中的某一天是否会发生变化
你能帮我弄清楚吗
谢谢。今天是一周中的一天 像这样试试
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String dayOfTheWeek = sdf.format(d);
为了得到今天的工作日 像这样试试
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String dayOfTheWeek = sdf.format(d);
如果你想知道今天的日期,你应该带上字符串:
ActionBar actionBar = getActionBar();
String dateString = (String) android.text.format.DateFormat.format("yyyy/MM/dd", new java.util.Date());
actionBar.setTitle(dateString);
如果你想删除第一行,我用我的actionbar做了这个
我希望这有帮助
你也可以在这里找到答案:
如果你想知道今天的日期,你应该带上字符串:
ActionBar actionBar = getActionBar();
String dateString = (String) android.text.format.DateFormat.format("yyyy/MM/dd", new java.util.Date());
actionBar.setTitle(dateString);
如果你想删除第一行,我用我的actionbar做了这个
我希望这有帮助
你也可以在这里找到答案:
Calendar.get(一周中的一天)
始终返回Calendar.SUNDAY
,Calendar.MONDAY
,…,Calendar.SATURDAY
中的一个,无论区域设置是什么。这些是常数,分别是1,2。。。七,
因此,如果布尔数组从星期一(索引0)开始,到星期天(索引6)结束,您只需要:
int calendarDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int myDayOfWeek = calendarDayOfWeek - 2;
if (myDayOfWeek < 0) {
myDayOfWeek += 7;
}
int calendarDayOfWeek=calendar.get(calendar.DAY/u周);
int myDayOfWeek=日历DayOfWeek-2;
如果(myDayOfWeek<0){
myDayOfWeek+=7;
}
Calendar.get(一周中的一天)
始终返回Calendar.SUNDAY
,Calendar.MONDAY
,…,Calendar.SATURDAY
中的一个,无论区域设置是什么。这些是常数,分别是1,2。。。七,
因此,如果布尔数组从星期一(索引0)开始,到星期天(索引6)结束,您只需要:
int calendarDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int myDayOfWeek = calendarDayOfWeek - 2;
if (myDayOfWeek < 0) {
myDayOfWeek += 7;
}
int calendarDayOfWeek=calendar.get(calendar.DAY/u周);
int myDayOfWeek=日历DayOfWeek-2;
如果(myDayOfWeek<0){
myDayOfWeek+=7;
}
我认为你是对的。我建议设置时区,这样你们可以得到正确的一周(我还并没有测试过这种方法,这是作为注释添加的。我可能也错了。)Locale usersLocale=Locale.getDefault();Calendar cal=Calendar.getInstance(usersLocale);int index=cal.get(日历日/周)-1;使用this@Raghunandan但是,如果我设置了一个特定的地点,那么这不是当前日期的问题吗(比如在美国,我们可以在周日,而在英国,我们可以在周一)?@MagicMicky这将是特定于该地点的,对吗?@Raghunandan是的,但我只想检索用户所在城镇的一周中的某一天,但从周一开始(因为我的数据是从周一开始的)我认为你是对的。我建议设置时区,这样你就可以得到正确的一周(我还没有测试过这种方法,这是作为注释添加的。我可能也错了。)Locale usersLocale=Locale.getDefault();Calendar cal=Calendar.getInstance(usersLocale);int index=cal.get(Calendar.DAY OF_OF_week)-1、 使用this@Raghunandan但是,如果我设置了一个特定的地点,那么这不是当前日期的问题吗(比如在美国,我们可以在周日,而在英国,我们可以在周一)?@MagicMicky这将是特定于该地点的,对吗?@Raghunandan是的,但我只想检索用户所在城镇的一周中的某一天,但从周一开始(因为我的数据从周一开始)我只想要一周中的一天(从1-7开始),而不是实际日期。我的问题是我不希望它取决于用户的区域设置,但取决于我的(因为我的数据),我只想要一周中的一天(从1-7开始),而不是实际日期。我的问题是我不希望它取决于用户的区域设置,而是取决于我的区域设置(因为我的数据)问题仍然是一样的:dayOfWeek将被本地化,不是吗?(即,如果用户在美国,我们将有1个星期天,如果用户在法国,我们将有1个星期一)问题仍然是一样的:dayOfWeek将被本地化,不是吗?(即,如果用户在美国,我们将有1个星期天,如果用户在法国,我们将有1个星期一)您还可以使用模int myDayOfWeek=(calendarDayOfWeek-2)%7;
您也可以使用模int myDayOfWeek=(calendarDayOfWeek-2)%7;