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"
}
}