你第一问需要思考一下,你第二问日历类直接get即可!
第一问:
年末与年初进行周与周重叠的时候,获取的是第二年的第一周数字,这个时候其实很简单,因为月份是绝对不相同的对不
直接判断月份即可,头年月份肯定不会第二年月份想等,在同时判断一下,周是否为1,条件同时达到,就叠加52即可!
截个图,你参照日历看一下,分毫不差:
try {
SimpleDateFormat sf =new SimpleDateFormat("yyyyMMdd");
Date d1 = sfparse("20091111");
Date d2 = sfparse("20091128");
while(d1before(d2)){
if(d1getDay() == 2){
Systemoutprintln(d1toLocaleString()+" 是星期二");
}
d1setTime(d1getTime()+86400000); //86400000 一天的毫秒数
}
} catch (ParseException e) {
Systemoutprintln("时间转换异常");
eprintStackTrace();
}
public static void main(String[] args) {
//获得当前日期
Date date = new Date();
//格式化日期,EEEE为星期几格式化
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
Systemoutprintln("今天是:"+dateFmformat(date));
//再举个格式化的例子:
Systemoutprintln("今天是:"+new SimpleDateFormat("yyyyMMddEEEE")format(date));
}
//输入日期取星期几的方法 public String getWeekDay(String DateStr){
SimpleDateFormat formatYMD=new SimpleDateFormat("yyyy-MM-dd");//formatYMD表示的是yyyy-MM-dd格式
SimpleDateFormat formatD=new SimpleDateFormat("E");//"E"表示"day in week"
Date d=null;
String weekDay="";try{d=formatYMDparse(DateStr);//将String 转换为符合格式的日期
weekDay=formatDformat(d);
}catch (Exception e){
eprintStackTrace();}//Systemoutprintln("日期:"+DateStr+" : "+weekDay);
return weekDay;
} //计算两个时间段中间的日期的方法
public String[][] findDates(String start_time, String end_time) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date1= dfparse(start_time);
Date date2= dfparse(end_time);
int s = (int) ((date2getTime() - date1getTime())/ (24 60 60 1000));
String value[][] = new String[s+1][1];if(s+1>0){for(int i = 0;i<=s;i++){
long todayDate = date1getTime() + i 24 60 60 1000;
Date tmDate = new Date(todayDate);
以上就是关于java如何得到指定日期月的第几周按每年的1号为第一周开始算。全部的内容,包括:java如何得到指定日期月的第几周按每年的1号为第一周开始算。、java 找某段期间内的星期几、java 怎么返回当天星期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)