i18n - java 转换日期格式的方法
PHPz
PHPz 2017-04-17 17:00:34
[Java讨论组]
PHPz
PHPz

学习是最好的投资!

全部回复(5)
PHP中文网

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

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
ringa_lee

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

黄舟

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

黄舟

你可以使用 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,只需要确保生成的字符串适合解析就好了。万能的解析方式,应该是不存在的。

巴扎黑

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号