java 转换日期格式的方法

发布于 2022-09-02 01:49:46 字数 185 浏览 10 评论 0

我想把这样的一个日期转换成java的Date格式,请问最好的方法是什么?

11:00:00下午, 周六, 二月 27, 2016

如果要通配中英文,比如加上下面这种,最好的方法是什么?

3:55:00AM, Sun, Feb 28, 2016

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

悲喜皆因你 2022-09-09 01:49:46

嗯,最好的方法在这里,顺带一说,没有周六这种东西,只有星期六,一定要周六的话,只能自定义了。

String sdfStr = "hh:mm:ssa, E, MMM, dd, yyyy";
// E 星期几/英文模式下简写
// EEE 星期几/英文模式下全名
// M  数字月份 1-12 (en)
// MM  数字月份 01-12 (en)
// MMM  月份简写 Jan (en)
// MMMM  月份全名 January (en)
SimpleDateFormat sdf_en = new SimpleDateFormat(sdfStr, Locale.ENGLISH); //英文
SimpleDateFormat sdf_chs = new SimpleDateFormat(sdfStr, Locale.SIMPLIFIED_CHINESE); //简体中文
System.out.println(sdf_en.format(new Date()));
System.out.println(sdf_chs.format(new Date()));

输入:

11:53:55AM, Mon, Jan, 18, 2016
11:53:55上午, 星期一, 一月, 18, 2016
赠佳期 2022-09-09 01:49:46

了解下SimpleDateFormat的日期格式就可以了,如果没有对应的格式,那就需要手动处理了

南城追梦 2022-09-09 01:49:46

你这种不是标准形式,应该只能人工去处理吧。可以优先找下有没有对应的工具

半﹌身腐败 2022-09-09 01:49:46

你可以使用 SimpleDateFormat 将字符串解析成 Date 对象

1 纯英文的比较好解析,比如你贴的这个

3:55:00AM, Sun, Feb 28, 2016

解析方式

SimpleDateFormat sdf = new SimpleDateFormat();
        sdf.applyPattern("K:mm:ssa, E, MMM dd, yyyy");//定义日期格式
        try {
            Date date = sdf.parse("3:55:00AM, Sun, Feb 28, 2016",
                    new ParsePosition(0));
            System.out.println(date.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
  1. 中文日期,需要先将其转化为可解析的英文字符串,比如下午替换成 pm,等等。

如果是项目中需要将日期字符串解析成Date,只需要确保生成的字符串适合解析就好了。万能的解析方式,应该是不存在的。

晚雾 2022-09-09 01:49:46

如果没有jdk现在的话,建议使用java8的DLocalDate和LocalDateTime,在转化上面容易很多。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文