Java 如何支持多种日期格式

Java 如何支持多种日期格式,java,localization,date-formatting,Java,Localization,Date Formatting,我计划编写通用方法来支持所有日期格式。你能告诉我如何处理不同的日期格式吗。 尤其是年月日和年月日 告诉我日期格式是否可以特定于区域设置?如果是,根据区域设置从何处获取日期格式?工厂方法可以将区域设置作为参数。然后,格式化程序将根据该语言/国家的格式解析日期字符串 例如: Locale myLocale = Locale.US; SimpleDateFormat sdf = SimpleDateFormat.getDateInstance(DateFormat.SHORT, myLocale);

我计划编写通用方法来支持所有日期格式。你能告诉我如何处理不同的日期格式吗。 尤其是年月日和年月日


告诉我日期格式是否可以特定于区域设置?如果是,根据区域设置从何处获取日期格式?

工厂方法可以将
区域设置
作为参数。然后,格式化程序将根据该语言/国家的格式解析日期字符串

例如:

Locale myLocale = Locale.US;
SimpleDateFormat sdf = SimpleDateFormat.getDateInstance(DateFormat.SHORT, myLocale);
Date d = sdf.parse("03/10/2012");
将返回表示2012年3月10日的日期。但是如果myLocale=Locale.UK,它将代表2012年10月3日


可以通过调用
DateFormat.getAvailableCales()
枚举各种语言环境,或者
Locale
构造函数将使用特定的语言或国家代码。

如果我们不知道日期格式,请检查此vanathi。基于日期,如果我们需要了解,我们如何才能做到这一点?根据您的链接,只有当我们知道日期格式时,简单日期格式才支持。如果用户以任何形式更改日期,我们如何从我们的角度支持?简单日期格式声明中的DD/MM/YYYY是输入日期格式,而不是我们希望看到的日期……据我们所知,除非我们知道格式,否则我们无法支持它。我们会让他们选择日期格式(我们支持)。@poineer:如果你的问题是:“如何在不知道日期格式的情况下解析日期?”,那是不可能的。无法知道2012年2月1日是2012年2月1日还是2012年1月2日。