这个问题在一次采访中问我"如何在java中验证(有效或无效)字符串日期而不使用java.util.date class.Dateformat可以在任何表格即 dd-MM-yyyy,yyyy-dd-MM等等。"。如果有人有想法请帮助.TIA
答案 0 :(得分:1)
最简单的解决方案是将java.util.Date解析为java.time.LocalDate然后你有一个标准的yyyy-mm-dd。这应该很容易验证。你能确定日期对象的来源吗?如果您可以从源文件或日期对象获取日历对象,那么我编写的这个方法应该有助于解析。
/**
* Utility method that parses java.util.Date to java 8's java.time.LocalDat
* <p>
* TODO finish method design
*
* @param calendarObj
* @return
*/
public static LocalDate parseCalendarToLocalDate(Calendar calendarObj) {
int month = calendarObj.get(Calendar.MONTH);
int year = calendarObj.get(Calendar.YEAR);
int day = calendarObj.get(Calendar.DAY_OF_MONTH);
LocalDate localDateObj = LocalDate.of(year,(month+1),day);
return localDateObj;
}