如果输入01-01-2015
它应该改为2015-01-01
.
如果输入2015-01-01
它应该改为01-01-2015
.
我使用SimpleDateFormat
但没有得到正确的输出:
//Class to change date dd-MM-yyyy to yyyy-MM-dd and vice versa public class ChangeDate { static SimpleDateFormat formatY = new SimpleDateFormat("yyyy-MM-dd"); static SimpleDateFormat formatD = new SimpleDateFormat("dd-MM-yyyy"); //This function change dd-MM-yyyy to yyyy-MM-dd public static String changeDtoY(String date) { try { return formatY.format(formatD.parse(date)); } catch(Exception e) { return null; } } //This function change yyyy-MM-dd to dd-MM-yyyy public static String changeYtoD(String date) { try { return formatD.format(formatY.parse(date)); } catch(Exception e) { return null; } } }
我想要一些自动检测日期模式并更改为其他格式的条件.
有两种选择:
尝试用正则表达式检查...... 喜欢:
if (dateString.matches("\\d{4}-\\d{2}-\\d{2}")) { ... }
尝试转换为第一个模式,如果它抛出异常,尝试转换为另一个模式(但这样做是不好的做法)