允许 -/或 .作为日期内的分隔符

标签 java simpledateformat date-format java-time datetime-parsing

解析可以采用以下格式之一的日期的最佳方法是什么

 "dd-MM-yyyy HH:mm"
 "dd/MM/yyyy HH:mm"
 "dd.MM.yyyy HH:mm"

无需创建 3 个 SimpleDateFormat 并按每个。

谢谢

最佳答案

将源字符串“调整”为规范格式可能是最简单的方法:

if (text.length() == 16)
{
    if ((text.charAt(2) == '/' && text.charAt(5) == '/') ||
        (text.charAt(2) == '.' && text.charAt(5) == '.'))
    {
        text = text.substring(0, 2) + "-" + text.substring(3, 5) 
           + "-" + text.substring(6);
    }
}

然后使用带“-”的格式字符串。

请注意,这是非常具体的,只能完全替换您感兴趣的字符,以避免不必要的副作用。

关于允许 -/或 .作为日期内的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443430/

相关文章:

Java usb4java在Windows 10平台上从USB设备读取

java - SimpleDateFormat 不一致的解析错误

string - Sqlite 将字符串转换为日期

c# - 是否可以格式化数据表的日期列?

java - 使用 JSoup 解析特定元素

java - 我应该在哪里放置图像以使用它来创建新的 Swing ImageIcon 对象?

java - 从父类(super class)构造函数调用父类(super class)方法

java - 为什么我会收到无法解析的日期异常?

java - Android - 显示不同日期格式的月份名称

html - 如何更改 html5 输入类型 ="date"的默认日期格式