Java Date and Time系列(七)- java.text.SimpleDateFormat介绍

原创 2013年12月04日 21:01:44

java.text.SimpleDateFormat类我们一般用来它实现字符串于java.util.Date之间的互转,比如将Date实例转换为指定的字符串表示形式,

或者将一个字符串的日期表示转为具体的Date实例。


创建SimpleDateFormat实例

可以像下面一样创建一个SimpleDateFormat实例:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
其中pattern参数用来指定字符串和日期互转时的格式。


日期转换成字符串

使用format()方法可以将一个日期类型的值转换为字符串表示形式,比如:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

String date = simpleDateFormat.format(new Date());
System.out.println(date); // 2013-12-04
注意,format()方法的参数必须是java.util.Date类型的实例。


字符串转换为日期

使用parse()方法可以可以将一个日期形式的字符串转换为一个java.util.Date类型:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

Date date = simpleDateFormat.parse("2013-12-04");

根据具体的语言环境创建SimpleDateFormat实例

具体的语言环境可以通过Locale类表示,在这先不做介绍了。想通过具体语言环境来创建SimpleDateFormat实例可以像下面那样:

String pattern = "EEEEE MMMMM yyyy HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat =
        new SimpleDateFormat(pattern, new Locale("zh", "ZH")); //指定具体语言环境

String date = simpleDateFormat.format(new Date());
System.out.println(date);
输出如下:

星期三 十二月 2013 17:09:04.757+0800
我们发现星期和月份的表示都是中文的,如果new Locale("zh", "ZH")换成new Locale("en", "EN"),那输出就会变为:Wednesday December 2013 17:09:04.757+0800

常用日期格式

dd-MM-yy                            31-01-12
dd-MM-yyyy                          31-01-2013
MM-dd-yyyy                          01-31-2013
yyyy-MM-dd                          2013-01-31
yyyy-MM-dd HH:mm:ss 	            2013-01-31 23:59:59
yyyy-MM-dd HH:mm:ss.SSS             2013-01-31 23:59:59.999
yyyy-MM-dd HH:mm:ss.SSSZ            2013-01-31 23:59:59.999+0100
EEEEE MMMMM yyyy HH:mm:ss.SSSZ 	    Saturday November 2013 10:45:42.720+0100

Unix timestamp时间 与 普通时间 转换方法

在转换工具http://tools.sharejs.com/unixtime.html 下面以java 转换方法为例 说明 java时间转换成unix timestamp import ja...
  • gdp12315
  • gdp12315
  • 2016年03月03日 17:19
  • 4354

java中存储mysql数据库时间类型【date、time、datetime、timestamp】

mysql中时间类型,date、time、datetime、timestamp,java存储mysql中时间
  • Fasure_Smile
  • Fasure_Smile
  • 2016年09月22日 10:51
  • 6752

关于SimpleDateFormat安全的时间格式化线程安全问题

想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调...
  • zxh87
  • zxh87
  • 2014年02月18日 16:19
  • 20400

Java Date and Time系列(二)- System.currentTimeMillis()介绍

System.currentTimeMillis() 静态方法System.currentTimeMillis()返回1970-01-01 00:00:00.000到现在的毫秒数,返回值是一个lon...
  • pnet2008
  • pnet2008
  • 2013年11月29日 16:36
  • 6384

Java Date and Time系列(五)- java.util.Calendar/java.util.GregorianCalendar介绍

java.util.Calendar是一个抽象类,它定义了日历相关的一系列操作,使用java.util.Calendar除了可以表示日期和时间,还可以用它来对时期或时间进行算术运算,比如获取当前日期1...
  • pnet2008
  • pnet2008
  • 2013年12月02日 22:34
  • 6248

JAVA API Date SimpleDateFormat and Calender

示例一:import java.util.Date; /** * java.util.Date * 该类内部维护一个long值,表示从1970年元旦到要描述的 * 时间之间所经过的毫秒值 *...
  • ArmandXu
  • ArmandXu
  • 2015年04月13日 22:23
  • 400

Java Date and Time系列(四)- java.sql.Date/java.sql.Time/java.sql.Timestamp介绍

java.sql.Date是在JDBC中使用的日期类,在JDBC操作中,如果需要设置一个日期或者从ResultSet获取日期值,就需要使用到java.sql.Date。实际上java.sql.Date...
  • pnet2008
  • pnet2008
  • 2013年11月30日 21:17
  • 1996

【Learning】Java Date and Time

1. There are four commonly used date time classes in Java:  1.1 java.util.Date 1.2 java.sq...
  • TragicJun
  • TragicJun
  • 2013年05月07日 20:20
  • 864

java.text Class SimpleDateFormat 格式详细介绍

java.text Class SimpleDateFormat 格式详细介绍 java.text Class SimpleDateFormat java.lang.Ob...
  • joyous
  • joyous
  • 2016年02月13日 00:41
  • 1008

(java)Best Time to Buy and Sell Stock系列

Best Time to Buy and Sell Stock I 题意:用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格。 如果只允许进行一次交易,也就是说只允许买一支股票并卖掉...
  • chaiqunxing51
  • chaiqunxing51
  • 2016年05月16日 15:08
  • 218
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java Date and Time系列(七)- java.text.SimpleDateFormat介绍
举报原因:
原因补充:

(最多只允许输入30个字)