繁体   English   中英

在Java中解析格式错误的日期时间字符串

[英]Parsing ill-formated date-time string in Java

用一句话:我应该能够解析PrettyTime的“2014年12月4日下午1:58”吗?

描述性:我需要从一些格式错误的日期时间字符串中解析并获取正确的日期格式。 例如“2014年12月4日下午1:58”。 当我解析这个示例字符串时,我得到:“Thu Dec 04 02:59:33 ALMT 2014”,这是我相信我当前的时间戳。

考虑:如果我只有这种单格式格式,我可以编写我的SimpleDateFormat。 但是,可以有各种各样的格式化,这些格式化大多数都是格式错误的。

你们中的任何人都可以告诉我,我是否应该期待PrettyTime解析这种格式错误的字符串? 或者,您能否指向任何可以在Java中处理这些格式错误的日期字符串的Java库?

这可能对你有所帮助!

SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy a hh:mm");
        String dateInString1 = "04 Dec 2014 pm 1:58";

        try {

            Date date = formatter.parse(dateInString1);
            System.out.println(date);
            System.out.println(formatter.format(date));

        } catch (ParseException e) {
            e.printStackTrace();
        }

显然,经过几天的尝试,我的发现是PrettyTime无法做到这一点虽然它处理相当不错的NLP日期和时间相关的东西。 最后我最终得到了各种SimpleDateFormat。 不是最好的解决方案而是临时解决方案。 如果有人偶然发现这个帖子,请分享您的经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM