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 2014 System.out.println(DateFormat.getDateInstance().parse(str1)); // 下面输出 Wed Dec 10 00:00:00 CST 2014 System.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实例解析,否则将抛出异常。
相关推荐
java 使用DateFormat类获取系统的当前时间 java 使用DateFormat类获取系统的当前时间
Java中DateFormat类.pdf 学习资料 复习资料 教学资源
调用该类中的方法,实现字符串于日期类型之间的转换,以及包括数据库中的日期类型,避免了代码的重复.
DateFormatManager dateformat = new DateFormatManager( new char[] { DateString.CENTURY, DateString.MONTH, DateString.DAY, DateString.YEAR, DateString.WEEK, DateString.HOUR_OF_DAY, DateString.MINUTE,...
java代码-使用java解决比较日期,Date类DateFormat类的源代码 ——学习参考资料:仅用于个人学习使用!
dateformat - 一个优秀的node.js日期格化包
NULL 博文链接:https://bert82503.iteye.com/blog/2106022
sql取日期格式中的年月天时分秒 sql取日期格式中的年月天时分秒
主要介绍了Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法,结合实例形式详细分析了Java使用BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类进行数值运算与日期运算相关操作...
DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法:
文章目录一.Object类概念:方法:toStringequals总结:二.Objects类概念三.Date类概述构造方法:成员方法:总结:四.DateFormat类概念构造方法:成员方法:使用方法演示五.Calendar类概念:方法:六.Math概念使用...
本Java精华内容深入Java API、嵌套类和内部类、与时间有关的类Date,DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及...
jquery-dateFormat, 使用JavaScript格式化日期输出的jQuery插件 使用JavaScript格式输出日期输出的jQuery dateformat插件- 拥有的,jQuery是最小的日期格式库。 ! 安装下载最新的jquery.dateFormat.js 或者 jquery....
Date Format with "-"
前端项目-jquery-dateFormat,它是一个jquery插件,用于使用javascript格式化日期输出。
主要介绍了Java多线程编程中使用DateFormat类,文中介绍了三种相关的并发使用方法,需要的朋友可以参考下
个人资源
day01【Object类、常用API】-笔记.md
yyyy-MM-dd形式 js timeformat dateformat
dateFormat日期格式化。