Calendar calendar = CalendargetInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-M-d");
String s = dfformat(calendargetTime());
Systemoutprintln(s);
Systemoutprintln(calendarget(CalendarDAY_OF_WEEK)-1);
因为星期是从周日开始的
提倡了一下中文写,
static public void main(String 参数[]){
SimpleDateFormat 格式=new SimpleDateFormat("y年M月d日 E H时m分s秒",LocaleCHINA);
Calendar 日历=CalendargetInstance(LocaleCHINA);
//当前时间,貌似多余,其实是为了所有可能的系统一致
日历setTimeInMillis(SystemcurrentTimeMillis());
Systemoutprintln("当前时间:"+格式format(日历getTime()));
日历set(CalendarDAY_OF_WEEK, CalendarMONDAY);
Systemoutprintln("周一时间:"+格式format(日历getTime()));
}
===========
改到后天测了一下
输出
当前时间:2011年8月31日 星期三 12时32分40秒
周一时间:2011年8月29日 星期一 12时32分40秒
我的理解是如果输入的星期等于当前日期的星期数,那么返回下一个周对应星期数的日期,否则返回当前日期往后最近的一个匹配的星期数的日期。如果我的理解没问题的话下面代码就能满足你的要求:
import javautilCalendar;import javautilDate;
public class Main {
public static void main(String[] args) {
Systemoutprintln(getDateByWeek(2));
}
/
根据星期获取日期
@param week 星期几 1代码星期日,2代表星期一。。。7代表星期六
@return
/
public static Date getDateByWeek(int week) {
int targetWeek = week;
Calendar c = CalendargetInstance();
// 当前日期星期数
int currWeek = cget(CalendarDAY_OF_WEEK);
if (currWeek == targetWeek) {
// 如果所给星期数和当前日期星期数相等则向后推7天
cadd(CalendarDAY_OF_MONTH, 7);
return cgetTime();
}
do {
// 向后推一天,直到星期数与所给星期数相同
cadd(CalendarDAY_OF_MONTH, 1);
} while (targetWeek != cget(CalendarDAY_OF_WEEK));
return cgetTime();
}
}
以上就是关于java获取当前日期前三位,即星期几全部的内容,包括:java获取当前日期前三位,即星期几、java 获取当前日期时间和本周的星期一的日期时间、java 根据所填写的星期数获取日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)