任意一个起止时间段(如:20160101-20161009),用java将这个时间段拆分成一个个按自然周组成的时间段
答案:1 悬赏:10 手机版
解决时间 2021-11-28 11:05
- 提问者网友:太高姿态
- 2021-11-27 21:23
任意一个起止时间段(如:20160101-20161009),用java将这个时间段拆分成一个个按自然周组成的时间段
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-11-27 21:35
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Week {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdw = new SimpleDateFormat("E");
System.out.println("请输入时间段,格式如:20160101-20161111(不足10位以0补足)");
Scanner s = new Scanner(System.in);
String date = s.next();
String begin_date = date.split("-")[0];
String end_date = date.split("-")[1];
String begin_date_fm = begin_date.substring(0, 4) + "-" + begin_date.substring(5,6) + "-" + begin_date.substring(7,8);
String end_date_fm = end_date.substring(0, 4) + "-" + end_date.substring(5,6) + "-" + end_date.substring(7,8);
Date b = null;
Date e = null;
try {
b = sd.parse(begin_date_fm);
e = sd.parse(end_date_fm);
} catch (ParseException ee) {
ee.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(b);
Date time = b;
String year = begin_date_fm.split("-")[0];
String mon = Integer.parseInt(begin_date_fm.split("-")[1])<10?"0"+begin_date_fm.split("-")[1]:begin_date_fm.split("-")[1];
String day = Integer.parseInt(begin_date_fm.split("-")[2])<10?"0"+begin_date_fm.split("-")[2]:begin_date_fm.split("-")[2];
String timeb = year+mon+day;
String timee = null;
while(time.getTime()<=e.getTime()){
rightNow.add(Calendar.DAY_OF_YEAR,1);
time = sd.parse(sd.format(rightNow.getTime()));
String timew = sdw.format(time);
if(("星期一").equals(timew)){
timeb = (sd.format(time)).replaceAll("-", "");
}
if(("星期日").equals(timew) || ("星期七").equals(timew) || time.getTime() == e.getTime()){
timee = (sd.format(time)).replaceAll("-", "");
System.out.println(timeb+"-"+timee);
}
}
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Week {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdw = new SimpleDateFormat("E");
System.out.println("请输入时间段,格式如:20160101-20161111(不足10位以0补足)");
Scanner s = new Scanner(System.in);
String date = s.next();
String begin_date = date.split("-")[0];
String end_date = date.split("-")[1];
String begin_date_fm = begin_date.substring(0, 4) + "-" + begin_date.substring(5,6) + "-" + begin_date.substring(7,8);
String end_date_fm = end_date.substring(0, 4) + "-" + end_date.substring(5,6) + "-" + end_date.substring(7,8);
Date b = null;
Date e = null;
try {
b = sd.parse(begin_date_fm);
e = sd.parse(end_date_fm);
} catch (ParseException ee) {
ee.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(b);
Date time = b;
String year = begin_date_fm.split("-")[0];
String mon = Integer.parseInt(begin_date_fm.split("-")[1])<10?"0"+begin_date_fm.split("-")[1]:begin_date_fm.split("-")[1];
String day = Integer.parseInt(begin_date_fm.split("-")[2])<10?"0"+begin_date_fm.split("-")[2]:begin_date_fm.split("-")[2];
String timeb = year+mon+day;
String timee = null;
while(time.getTime()<=e.getTime()){
rightNow.add(Calendar.DAY_OF_YEAR,1);
time = sd.parse(sd.format(rightNow.getTime()));
String timew = sdw.format(time);
if(("星期一").equals(timew)){
timeb = (sd.format(time)).replaceAll("-", "");
}
if(("星期日").equals(timew) || ("星期七").equals(timew) || time.getTime() == e.getTime()){
timee = (sd.format(time)).replaceAll("-", "");
System.out.println(timeb+"-"+timee);
}
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯