private void setTimeData(String type ,String str){
Log.i("info",CurrentWeak+"");
if (CurrentWeak.equals("0")){
CurrentWeak = "7";
}
String [] timeStr = str.split("-");
if (types.equals(MyApplication.TIME_DAY)) {
startTime = str+" 07:00:00:000";
endTime = getDayAdd(str)+" 07:00:00:000";
} else if (types.equals(MyApplication.TIME_WEAK)) {
startTime = getWeekAdd(str,1-Integer.parseInt(CurrentWeak))+" 07:00:00:000";
endTime = getWeekAdd(str,8-Integer.parseInt(CurrentWeak))+" 07:00:00:000";
} else if (types.equals(MyApplication.TIME_HALFMONTH)) {
if (Integer.parseInt(timeStr[2])>15){
startTime = timeStr[0]+"-"+timeStr[1]+"-15 07:00:00:000";
endTime = timeStr[0]+"-"+timeStr[1]+"-"+getMonths(timeStr[1])+" 07:00:00:000";
}else{
startTime = timeStr[0]+"-"+timeStr[1]+"-01 07:00:00:000";
endTime = timeStr[0]+"-"+timeStr[1]+"-15 07:00:00:000";
}
} else if (types.equals(MyApplication.TIME_MONTH)) {
startTime = timeStr[0]+"-"+timeStr[1]+"-01 07:00:00:000";
endTime = timeStr[0]+"-"+timeStr[1]+"-"+getMonths(timeStr[1])+" 07:00:00:000";
} else if (types.equals(MyApplication.TIME_YEAR)) {
startTime = timeStr[0]+"-01-01 07:00:00:000";
endTime = timeStr[0]+"-12-31 07:00:00:000";
}
time_text.setText("查询开始时间 "+startTime);
time_text_end.setText("查询截至时间 "+endTime);
}
private String getWeekAdd(String day,int offset){
String [] timeStr = day.split("-");
int days =Integer.parseInt(timeStr[2]);
int month =Integer.parseInt(timeStr[1]);
int years =Integer.parseInt(timeStr[0]);
if (days+offset>0&&days+offset<Integer.parseInt(getMonths(timeStr[1]))){
//本月
days = days+offset;
}else if (days+offset>Integer.parseInt(getMonths(timeStr[1]))){
//后半月包括下个月
if (month+1>12){
//年底12月 包括下一年
years = years +1 ;
month = 1 ;
days = days+offset-31;
}else{
//本年
month = month+1 ;
days = days+offset-Integer.parseInt(getMonths(timeStr[1]));
}
}else if (days+offset<=0){
//前半月和上个月
if (month-1<=0){
//1 月份 包括年前
years = years -1 ;
month = 12 ;
days = 31+days+offset;
}else{
//本年
month = month-1 ;
days = Integer.parseInt(getMonths((month-1)+""))+days+offset+1;
}
}
return years+"-"+(month>10?""+month:"0"+month)+"-"+(days>10?""+days:"0"+days);
}
private String getDayAdd(String day){
String [] timeStr = day.split("-");
String days ="";
String month = "";
String years = "";
if(timeStr[1].equals("12")&&timeStr[2].equals("31")){
int yearInteger = Integer.parseInt(timeStr[0]);
years = (yearInteger+1)+"";
month = "01";
days = "01";
}else{
if (timeStr[2].equals(getMonths(timeStr[1]))){
int monthInteger = Integer.parseInt(timeStr[1]);
month = ((monthInteger+1)+"").length()==2?(monthInteger+1)+"":"0"+(monthInteger+1)+"";
days ="01";
}else{
month = timeStr[1];
int dayInteger = Integer.parseInt(timeStr[2]);
days = ((dayInteger+1)+"").length()==2?(dayInteger+1)+"":"0"+(dayInteger+1)+"";
}
years = timeStr[0];
}
return years+"-"+month+"-"+days;
}
private String getMonths(String month){
if ("135781012".contains(month)||"01030507081012".contains(month)){
return "31";
}else if ("2".contains(month)||"02".contains(month)){
return "28";
}else{
return "30";
}
}
android 日期选择 输入当前日期 ,查询所在本天所在周的起始日期与结束日期 (可跨年计算)
最新推荐文章于 2023-04-05 10:05:16 发布