【问题标题】:Parse a string to Date without locale将字符串解析为没有语言环境的日期
【发布时间】:2015-01-21 13:03:45
【问题描述】:

我需要在 Java 中将字符串解析为日期。有问题的场景是使用完整日期模式并且它取决于特定的语言环境(我以前不知道)

例如,使用模式“EEEE dd MMMM yyyy”,两个可能的输入是:

英语 = "2014 年 11 月 10 日星期五"

西班牙语 = "Viernes 2014 年 11 月 10 日"

是否可以在不知道源语言环境的情况下将上述输入转换为 Date 对象?

谢谢。

【问题讨论】:

标签: java string date converter


【解决方案1】:

我尝试了 MadProgrammer 解决方案,它有效:

        String dateInString = "Friday 10 November 2014";
        //String dateInString = "Viernes 10 Noviembre 2014";
        Locale localeList[] = DateFormat.getAvailableLocales();

        Date date = null;

        for (Locale l : localeList) {
            try {

                SimpleDateFormat formatter = new SimpleDateFormat("EEEE dd MMMM yyyy", l);

                date = formatter.parse(dateInString);
                System.out.println("Trying with locale: " + l.toString());
                break;
            } catch (ParseException e) {
            }

        }

谢谢

【讨论】:

    猜你喜欢
    • 2014-03-15
    • 2012-04-14
    • 2021-01-27
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多