今天星期几呢?星期格式化
今天水一篇星期转换的文章
星期转换要注意的时,有些地方一个星期的第一天不是周一的。需要进行判断。
上代码:
try {
Logger.d("weatherInfo.getTime() == > " + weatherInfo.getTime());
Date date = dateFormat.parse(weatherInfo.getTime());
//获取星期
Calendar cal = Calendar.getInstance();
cal.setTime(date);
Logger.d("date ==> " + cal.getTimeInMillis());
//一周的第几天
boolean isFirstSunday = (cal.getFirstDayOfWeek() == Calendar.SUNDAY);
Logger.d("isFirstSunday ==> " + isFirstSunday);
int w = cal.get(Calendar.DAY_OF_WEEK);
if (isFirstSunday) {
w -= 1;
if (w == 0) {
w = 7;
}
}
Logger.d("week index==> " + w);
int weekStringResId = getWeekStringResId(w);
String weekText = itemView.getContext().getString(weekStringResId);
} catch (Exception e) {
e.printStackTrace();
}
下标w跟星期的关系:
private int getWeekStringResId(int position) {
int resId = R.string.monday;
switch (position) {
case WEEK_INDEX_MONDAY:
resId = R.string.monday;
break;
case WEEK_INDEX_TUESDAY:
resId = R.string.tuesday;
break;
case WEEK_INDEX_WEDNESDAY:
resId = R.string.wednesday;
break;
case WEEK_INDEX_THURSDAY:
resId = R.string.thursday;
break;
case WEEK_INDEX_FRIDAY:
resId = R.string.friday;
break;
case WEEK_INDEX_SATURDAY:
resId = R.string.saturday;
break;
case WEEK_INDEX_SUNDAY:
resId = R.string.sunday;
break;
}
return resId;
}
相关的常量:
public static final int WEEK_INDEX_MONDAY = 1;
public static final int WEEK_INDEX_TUESDAY = 2;
public static final int WEEK_INDEX_WEDNESDAY = 3;
public static final int WEEK_INDEX_THURSDAY = 4;
public static final int WEEK_INDEX_FRIDAY = 5;
public static final int WEEK_INDEX_SATURDAY = 6;
public static final int WEEK_INDEX_SUNDAY = 7;