我的日期为String,但有时它没有有效的日期或月份(值为零,00)。
例子:
String value = "03082017";
Run Code Online (Sandbox Code Playgroud)
然后我这样做:
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;
Run Code Online (Sandbox Code Playgroud)
这适用于示例String。
现在我有这个字符串:
String value = "00092017" //ddMMyyyy
Run Code Online (Sandbox Code Playgroud)
然后我的代码将00日期转换为01.
这适用于模式ddMMyyyy,但现在是我的问题:我可以有不同的模式:ddMMyyyy或MMddyyyy或yyyy/dd/MM等
我的解决方案是首先检查模式(例如MMddyyyy),然后查看我的值03092017(ddMMyyyy)并将数字放入我的日期字符串中,该字符串位于模式中的 dd 位置。
所以代码有模式ddMMyyyy但值为03092017( MMddyyyy …