Android工具类篇 日期工具类DateUtil 星期获取(下篇)
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android工具类篇 日期工具类DateUtil 星期获取(下篇)相关的知识,希望对你有一定的参考价值。
获得本周周一到周日日期(可以跨年计算)
//SimpleDateFormat 格式 = new SimpleDateFormat("y年M月d日 E H时m分s秒", Locale.CHINA);
SimpleDateFormat 格式 = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar 日历 = Calendar.getInstance(Locale.CHINA);
日历.setFirstDayOfWeek(Calendar.MONDAY);
//当前时间,貌似多余,其实是为了所有可能的系统一致
日历.setTimeInMillis(System.currentTimeMillis());
System.out.println("当前时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("周一时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
System.out.println("周二时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
System.out.println("周三时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
System.out.println("周四时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
System.out.println("周五时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println("周六时间:"+格式.format(日历.getTime()));
日历.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println("周日时间:"+格式.format(日历.getTime()));
public class DateUtil {
/**
* 获得星期X
* @return 返回字符串型数字(根据自己需要修改返回值类型)
*/
public static String getWeekDay() {
// 获得星期几
Calendar calendar = Calendar.getInstance();
int mWeekDay = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (mWeekDay == 0){
mWeekDay = 7;
}
Log.v("ceshi", "mWeekDay -- " + mWeekDay );
return String.valueOf(mWeekDay);
}
/**
* 获得 今天的 年-月-日 星期X
*/
public static String getToday() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//当前时间,貌似多余,其实是为了所有可能的系统一致
calendar.setTimeInMillis(System.currentTimeMillis());
System.out.println("当前时间:" + simpleDateFormat.format(calendar.getTime()));
String mToday = myDateFormat(simpleDateFormat.format(calendar.getTime()));
return mToday;
}
/**
* 获得 本周一 年-月-日
*/
public static String getZhou1() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周二 年-月-日
*/
public static String getZhou2() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周三 年-月-日
*/
public static String getZhou3() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周四 年-月-日
*/
public static String getZhou4() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周五 年-月-日
*/
public static String getZhou5() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周六 年-月-日
*/
public static String getZhou6() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 获得 本周日 年-月-日
*/
public static String getZhou7() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 E", Locale.CHINA);
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
String date = myDateFormat2(simpleDateFormat.format(calendar.getTime()));
return date;
}
/**
* 日期格式化 年-月-日 星期X
*/
private static String myDateFormat(String format) {
String[] format_all = format.split(" ");
format_all[0] = format_all[0].replace("年", "-"); // 替换
format_all[0] = format_all[0].replace("月", "-"); // 替换
format_all[0] = format_all[0].replace("日", ""); // 替换
format_all[1] = format_all[1].replace("周一", "星期一"); // 替换
format_all[1] = format_all[1].replace("周二", "星期二"); // 替换
format_all[1] = format_all[1].replace("周三", "星期三"); // 替换
format_all[1] = format_all[1].replace("周四", "星期四"); // 替换
format_all[1] = format_all[1].replace("周五", "星期五"); // 替换
format_all[1] = format_all[1].replace("周六", "星期六"); // 替换
format_all[1] = format_all[1].replace("周日", "星期日"); // 替换
String formatBack = format_all[0] + " " + format_all[1];
return formatBack;
}
/**
* 日期格式化 年-月-日
*/
private static String myDateFormat2(String format) {
String[] format_all = format.split(" ");
format_all[0] = format_all[0].replace("年", "-"); // 替换
format_all[0] = format_all[0].replace("月", "-"); // 替换
format_all[0] = format_all[0].replace("日", ""); // 替换
String formatBack = format_all[0];
return formatBack;
}
}
以上是关于Android工具类篇 日期工具类DateUtil 星期获取(下篇)的主要内容,如果未能解决你的问题,请参考以下文章