public static String getAnHourLater(String time) {
int y0, m0, d0, h0;
int y = Integer.parseInt(time.substring(0, 4));
int m = Integer.parseInt(time.substring(4, 6));
int d = Integer.parseInt(time.substring(6, 8));
int h = Integer.parseInt(time.substring(8, 10));
String mi = time.substring(10, 12);
String s = time.substring(12, 14);
int y1 = y + 1;
int m1 = m + 1;
int d1 = d + 1;
int h1 = h + 1;
int h00 = 0;
int d01 = 1;
int m01 = 1;
String m0S = null;
String d0S = null;
String h0S = null;
// h==23时,日期往后推一天
if (h == 23) {
h0 = h00;
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10) {
if (d == 31) {
y0 = y;
m0 = m1;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d01;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
} else {
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d1;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
} else if (m == 4 || m == 6 || m == 9 || m == 11) {
if (d == 30) {
y0 = y;
m0 = m1;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d01;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
} else {
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d1;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
} else if (m == 2) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
if (d == 29) {
y0 = y;
m0 = m1;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d01;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
} else {
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d1;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
} else {
if (d == 28) {
y0 = y;
m0 = m1;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d01;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
} else {
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d1;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
}
} else if (m == 12) {
if (d == 31) {
y0 = y1;
m0 = m01;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d01;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
} else {
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d1;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0S = "0" + Integer.toString(h0);
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
}
} else {// 当h不为23时,日期不用做其他处理,时间往后推一小时
y0 = y;
m0 = m;
if (m0 < 10) {
m0S = "0" + m0;
} else {
m0S = Integer.toString(m0);
}
d0 = d;
if (d0 < 10) {
d0S = "0" + Integer.toString(d0);
} else {
d0S = Integer.toString(d0);
}
h0 = h1;
if (h0 < 10) {
h0S = "0" + Integer.toString(h0);
} else {
h0S = Integer.toString(h0);
}
String time0 = Integer.toString(y0) + m0S + d0S + h0S + mi + s;
return time0;
}
return null;
}