如:12年转换后120000;12年1天 转换后是 120001,12年1月12天转换后是120112,
12年3月 转换后 是120300. 3天转换后就是 000003 。没有年前面就是00,没有月中间两位就是00 麻烦帮我写一个方法用于这样的转换。
import com.jfinal.kit.StrKit;
public class DataTransfer {
public String getxq(String xqms) {
int indexof1 = 0;
int indexof2 = 0;
String n = "";// 年
String y = "";// 月
String r = "";// 天
if (StrKit.isBlank(xqms)) {
// 判断传入的参数是否为空
return "000000";
} else {
if (xqms.contains("年") && xqms.contains("月") && xqms.contains("天")) {
// 传入的字符串同时包含了"年月天"
indexof1 = xqms.indexOf("年");
n = xqms.substring(0, indexof1);
n = zfc(n);
indexof1 = xqms.indexOf("月");
indexof2 = xqms.indexOf("年") + 1;
y = xqms.substring(indexof2, indexof1);
y = zfc(y);
indexof1 = xqms.indexOf("天");
indexof2 = xqms.indexOf("月") + 1;
r = xqms.substring(indexof2, indexof1);
r = zfc(r);
return n + y + r;
} else if (!xqms.contains("年") && xqms.contains("月")
&& xqms.contains("天")) {
// 传入的字符串包含了"月天",但不包含"年"
indexof2 = xqms.indexOf("月");
y = xqms.substring(0, indexof2);
y = zfc(y);
indexof1 = xqms.indexOf("天");
indexof2 = indexof2 + 1;
r = xqms.substring(indexof2, indexof1);
r = zfc(r);
return "00" + y + r;
} else if (xqms.contains("年") && xqms.contains("月")
&& !xqms.contains("天")) {
// 传入的字符串包含了"年月",但不包含"天"
indexof1 = xqms.indexOf("年");
n = xqms.substring(0, indexof1);
n = zfc(n);
indexof1 = xqms.indexOf("月");
indexof2 = xqms.indexOf("年") + 1;
y = xqms.substring(indexof2, indexof1);
y = zfc(y);
return n + y + "00";
} else if (xqms.contains("年") && !xqms.contains("月")
&& xqms.contains("天")) {
// 传入的字符串包含了"年日",但不包含"月"
indexof1 = xqms.indexOf("年");
n = xqms.substring(0, indexof1);
n = zfc(n);
indexof1 = xqms.indexOf("天");
indexof2 = xqms.indexOf("年") + 1;
r = xqms.substring(indexof2, indexof1);
r = zfc(r);
return n + "00" + r;
} else if (!xqms.contains("年") && !xqms.contains("月")
&& xqms.contains("天")) {
// 传入的字符串只包含"天"
indexof1 = xqms.indexOf("天");
r = xqms.substring(0, indexof1);
r = zfc(r);
return "0000" + r;
} else {
return "000000";
}
}
}
/**
* 用于判断传入参数的位数,没有2位,用"0"来补齐2位。
*
* @param xx
* @return
* @author Penstaro
*/
public String zfc(String xx) {
if (xx.length() == 2) {
return xx;
} else if (xx.length() == 1) {
String a = "0" + xx;
return a;
} else if (xx.length() == 0) {
return "00";
} else {
return "00";
}
}
}