diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java index 9382a1d..e18bf0b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java @@ -1220,14 +1220,29 @@ public class CertificatesActivity extends BaseAppCompatActivity { iib.setDriverLicense(str1); iib.setDriverLicenseBackPhoto(backId); iib.setDriverLicensePhoto(fontId); - iib.setEndTime("长期".equals(odl.getData().getEndDate()) ? "2999-12-31" : odl.getData().getEndDate()); + + if ("长期".equals(odl.getData().getEndDate())){ + iib.setEndTime("2999-12-31"); + }else if (TimeUtil.isValidDate(odl.getData().getEndDate())){//非yyyy-MM-dd格式的日期传"" + iib.setEndTime(odl.getData().getEndDate()); + }else{ + iib.setEndTime(""); + } +// iib.setEndTime("长期".equals(odl.getData().getEndDate()) ? "2999-12-31" : odl.getData().getEndDate()); iib.setFirstTime(odl.getData().getFirstGetDocDate()); // iib.setName(odl.getData().getName()); iib.setOrganizationName(odl.getData().getIssuingAuthority()); iib.setAddress(odl.getData().getAddress()); - iib.setStartTime(odl.getData().getBeginDate()); + + if (TimeUtil.isValidDate(odl.getData().getBeginDate())){//非yyyy-MM-dd格式的日期传"" + iib.setStartTime(odl.getData().getBeginDate()); + }else{ + iib.setStartTime(""); + } + +// iib.setStartTime(odl.getData().getBeginDate()); iib.setSex(odl.getData().getSex()); iib.setBirthday(odl.getData().getBirthday()); diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java index 45a0aee..1b479e8 100644 --- a/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java +++ b/mylibrary/src/main/java/com/dahe/mylibrary/utils/TimeUtil.java @@ -307,6 +307,27 @@ public final class TimeUtil { return format.format(date); } + + + /** + * 验证时间字符串是否是yyyy-MM-dd格式 + * + * @param dateStr 需要验证的时间字符串 + * @return 如果是yyyy-MM-dd格式,返回true;否则返回false + */ + public static boolean isValidDate(String dateStr) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + sdf.setLenient(false); // 设置不宽容,严格解析 + try { + Date date = sdf.parse(dateStr); + // 可以进一步验证解析后的日期是否合法(例如:检查月份天数、闰年等) + // 但对于简单的格式验证,这一步通常不是必需的 + return true; + } catch (ParseException e) { + return false; + } + } + /** * 将Date类型转为时间戳 *