DateFormat类在国际化中的应用
来源:互联网 发布:世界城市经纬度数据库 编辑:程序博客网 时间:2024/06/03 19:20
1 DateFormat类简介
DateFormat都包含了format和parse方法,其中format用于将日期格式化成字符串,parse用于将字符串解析成日期。
2 DateFormat类的方法
getDateInstance:返回一个日期格式器,它格式化后的字符串只有日期,没有时间。该方法可以传入多个参数,用于指定日期样式和Locale等参数。如果不指定这些参数,则使用默认参数。
getTimeInstance:返回一个时间格式器,它格式化后的字符串只有时间,没有日期。该方法可以传入多个参数,用于指定时间样式和Locale等参数。如果不指定这些参数,则使用默认参数。
getDateTimeInstance:返回一个日期、时间格式器,它格式化后的字符串既有日期,也有时间。该方法可以传入多个参数,用于指定日期样式、时间样式和Locale等参数。如果不指定这些参数,则使用默认参数。
3 代码示例
import java.util.*;import java.text.*;import static java.text.DateFormat.*;public class DateFormatTest{public static void main(String[] args)throws ParseException{// 需要被格式化的时间Date dt = new Date();// 创建两个Locale,分别代表中国、美国、法国Locale[] locales = {Locale.CHINA, Locale.US,Locale.FRANCE};DateFormat[] df = new DateFormat[24];// 为上面两个Locale创建16个DateFormat对象for (int i = 0 ; i < locales.length ; i++){df[i * 8] = DateFormat.getDateInstance(SHORT, locales[i]);df[i * 8 + 1] = DateFormat.getDateInstance(MEDIUM, locales[i]);df[i * 8 + 2] = DateFormat.getDateInstance(LONG, locales[i]);df[i * 8 + 3] = DateFormat.getDateInstance(FULL, locales[i]);df[i * 8 + 4] = DateFormat.getTimeInstance(SHORT, locales[i]);df[i * 8 + 5] = DateFormat.getTimeInstance(MEDIUM , locales[i]);df[i * 8 + 6] = DateFormat.getTimeInstance(LONG , locales[i]);df[i * 8 + 7] = DateFormat.getTimeInstance(FULL , locales[i]);}for (int i = 0 ; i < locales.length ; i++){String tip = i == 0 ? "----中国日期格式----":i ==1 ?"----美国日期格式----":"----法国日期格式----";System.out.println(tip);System.out.println("SHORT格式的日期格式:"+ df[i * 8].format(dt));System.out.println("MEDIUM格式的日期格式:"+ df[i * 8 + 1].format(dt));System.out.println("LONG格式的日期格式:"+ df[i * 8 + 2].format(dt));System.out.println("FULL格式的日期格式:"+ df[i * 8 + 3].format(dt));System.out.println("SHORT格式的时间格式:"+ df[i * 8 + 4].format(dt));System.out.println("MEDIUM格式的时间格式:"+ df[i * 8 + 5].format(dt));System.out.println("LONG格式的时间格式:"+ df[i * 8 + 6].format(dt));System.out.println("FULL格式的时间格式:"+ df[i * 8 + 7].format(dt));}String str1 = "2014-12-12";String str2 = "2014年12月10日";// 下面输出 Fri Dec 12 00:00:00 CST 2014System.out.println(DateFormat.getDateInstance().parse(str1));// 下面输出 Wed Dec 10 00:00:00 CST 2014System.out.println(DateFormat.getDateInstance(LONG).parse(str2));// 下面抛出 ParseException异常System.out.println(DateFormat.getDateInstance().parse(str2));}}
4 运行结果
----中国日期格式----
SHORT格式的日期格式:16-9-3
MEDIUM格式的日期格式:2016-9-3
LONG格式的日期格式:2016年9月3日
FULL格式的日期格式:2016年9月3日 星期六
SHORT格式的时间格式:上午11:51
MEDIUM格式的时间格式:11:51:11
LONG格式的时间格式:上午11时51分11秒
FULL格式的时间格式:上午11时51分11秒 CST
----美国日期格式----
SHORT格式的日期格式:9/3/16
MEDIUM格式的日期格式:Sep 3, 2016
LONG格式的日期格式:September 3, 2016
FULL格式的日期格式:Saturday, September 3, 2016
SHORT格式的时间格式:11:51 AM
MEDIUM格式的时间格式:11:51:11 AM
LONG格式的时间格式:11:51:11 AM CST
FULL格式的时间格式:11:51:11 AM CST
----法国日期格式----
SHORT格式的日期格式:03/09/16
MEDIUM格式的日期格式:3 sept. 2016
LONG格式的日期格式:3 septembre 2016
FULL格式的日期格式:samedi 3 septembre 2016
SHORT格式的时间格式:11:51
MEDIUM格式的时间格式:11:51:11
LONG格式的时间格式:11:51:11 CST
FULL格式的时间格式:11 h 51 CST
Fri Dec 12 00:00:00 CST 2014
Wed Dec 10 00:00:00 CST 2014
Exception in thread "main" java.text.ParseException: Unparseable date: "2014年12月10日"
at java.text.DateFormat.parse(DateFormat.java:366)
at DateFormatTest.main(DateFormatTest.java:59)
5 运行说明
上面代码的最后一行代码解析日期字符串时引发ParseException异常,因为“2014年12月10日”是一个LONG样式的日期字符串,必须用LONG格式的DateFormat实例解析,否则将抛出异常。
- DateFormat类在国际化中的应用
- DateFormat类(国际化日期)
- NumberFormat类在国际化中的应用
- JavaWeb 开发-国际化-DateFormat类(国际化日期)
- DateFormat类(国际化日期)小结一
- JAVA DateFormat(国际化日期)类的使用
- .DateFormat 与国际化资源
- Struts2应用中的国际化
- DateFormat 类
- DateFormat类
- Java中的日期/时间类,Date、DateFormat、Calendar类
- Java中的日期/时间类,Date、DateFormat、Calendar类
- runtime在应用国际化上的实践
- java中的Date与DateFormat
- Java中的DateFormat用法举例
- Java中的DateFormat用法举例
- Java中的DateFormat用法举例
- Java中的DateFormat用法举例
- usart串口使用
- 国际化中用类文件替代资源文件
- MyBatis实现单表增删改查(CURD)--根据id查询
- NumberFormat类在国际化中的应用
- Swift回忆录-枚举
- DateFormat类在国际化中的应用
- 简单灵活的SimpleDateFormat类
- Java 8新增的日期、时间格式器
- <jsp:forward>与response.sendRedirect()页面跳转的区别
- 【C#】遍历List列表的同时,移除访问到的元素
- python requests库中的代理
- 或许是介绍Android Studio使用Git最详细的文章
- Java集合基础
- Mapreduce运行自定义Map及Reduce类找不到