Java DateFormat
时间:2020-01-09 10:35:26 来源:igfitidea点击:
java.text.DateFormat类用于根据特定的Locale将日期格式化为字符串。不同的国家/地区对日期格式有不同的标准。在丹麦,日期使用" dd-mm-yyyy"格式书写,但在美国,日期使用" mm-dd-yyyy"格式书写日期。
创建一个DateFormat
我们可以使用DateFormat类的getDateInstance()和getTimeInstance()方法创建一个DateFormat。这是一个例子:
Locale locale = new Locale("da", "DK"); DateFormat dateFormat = DateFormat.getDateInstance( DateFormat.DEFAULT, locale);
如我们所见,getDateInstance()
方法有两个参数。第一个参数指示要使用的日期格式。第二个参数是要使用的"语言环境"。
可以在DateFormat
类的以下常量中选择date格式参数:
DateFormat.DEFAULT DateFormat.SHORT DateFormat.MEDIUM DateFormat.LONG DateFormat.FULL
格式化日期最终如何查找所使用的每种日期格式取决于Locale。
格式化日期
格式化日期是通过format()
方法完成的。这是一个例子:
Locale locale = new Locale("da", "DK"); DateFormat dateFormat = DateFormat.getDateInstance( DateFormat.DEFAULT, locale); String date = dateFormat.format(new Date()); System.out.println(date);
在nov上执行时,从此代码打印的输出。 2012年1月1日将是:
01-11-2012
如果使用UK UK Locale执行,则输出为:
Nov 1, 2012
格式化时间
为了只格式化时间而不是日期本身,我们需要DateFormat
类的时间实例。我们可以使用getTimeInstance()方法创建这样的实例。这是一个例子:
Locale locale = new Locale("da", "DK"); DateFormat dateFormat = DateFormat.getTimeInstance( DateFormat.DEFAULT, locale); String date = dateFormat.format(new Date()); System.out.println(date);
该代码输出的输出看起来像这样:
12:43:37
格式化日期和时间
使用日期时间实例对包括日期和时间的日期进行格式化。我们可以使用getDateTimeInstance()方法创建这样的实例。这是一个例子:
Locale locale = new Locale("da", "DK"); //Locale locale = new Locale("en", "UK"); DateFormat dateFormat = DateFormat.getDateTimeInstance( DateFormat.DEFAULT,DateFormat.DEFAULT, locale); String date = dateFormat.format(new Date()); System.out.println(date);
请注意,getDateTimeInstance()
方法采用两个格式参数。一个用于日期,一个用于时间。
这是此代码的示例输出:
01-11-2012 13:07:08