我有一个日期String
,但有时它没有有效的日期或月份(值为零,00
)。
例子:
String value = "03082017";
然后我做:
String day = value.substring(0,2);
String month = value.substring(2,4);
String year = value.substring(4,8);
if(day.equals("00")) {
day = "01";
}
if(month.equals("00")) {
month = "01";
}
value = day + month + year;
这适用于示例String
。
现在我有这个字符串:
String value = "00092017" //ddMMyyyy
然后我的代码将00
日期转换为01
.
这适用于模式ddMMyyyy
,但现在是我的问题:我可以有不同的模式:ddMMyyyy
或MMddyyyy
或yyyy/dd/MM
等
我的解决方案是首先检查模式(例如MMddyyyy
),然后查看我的值03092017
(ddMMyyyy
)并将数字带到我的日期字符串中,该字符串位于我的模式中的位置 dd 。
所以代码有模式ddMMyyyy
但值为03092017
( MMddyyyy
)
String day = "03";
.....
我的代码:
public void doSomething(String valueWithDate, String pattern){
// now I become:
// valueWithDate = 01092017
// pattern = ddMMyyyy
String day = valueWithDate.substring(0,2);
String month = valueWithDate.substring(2,4);
String year = valueWithDate.substring(4,8);
//Works I get my information but what is when I get other pattern/value? for example:
// valueWithDate = 09082017
// pattern = MMddyyyy
// now I want my information again, but day is not on substring 0,2
}