Java的日期与时间
原文链接
作者:Jakob Jenkov
译者:阿为
目录:http://blog.csdn.net/tjgykhulj/article/details/68952451
(所有译者备注将以此形式出现,删除线表示有争议或不明确的地方
)
九、Date与String的转换
Java中的java.text.SimpleDateFormat
类适用于日期与字符串的相互转换,我曾经重写过一份SimpleDateFormat来实现更多的细节(在我的Java国际化教程中,参见SimpleDateFormat)。但我还是先给你展示一两个java.text.SimpleDateFormat
的样例吧,这个类的操作和java.util.Date相关:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//返回2017-04-02
String dateString = format.format( new Date() );
//返回时间为2009-12-31的Date对象
Date date = format.parse ( "2009-12-31" );
我们传了一个String来构造一个SimpleDateFormat,这个String作为一个日期格式的模板,来告诉实例如何格式化日期,或如何从字符串解析出日期。在这个样例中我使用了”yyyy-MM-dd”,表示前四个数字为年份,中间的两个数字是月份,以及最后两个数字是天数,并且这些数字用横杆(-)来分开。
以下为最常用的模板表达字母,如果想了解更多的细节请查阅官方Java文档:
y = 年份 (yy or yyyy)
M = 月份 (MM)
d = 一个月中的第几天 (dd)
h = 小时 (0-12) (hh)
H = 小时 (0-23) (HH)
m = 一小时中的第几分钟 (mm)
s = 秒 (ss)
S = 毫秒 (SSS)
z = 时区 (比如:Pacific Standard Time)
Z = 时区的时差 (比如:-0800)
以下有一些常用的时间格式与对应举例:
yyyy-MM-dd (2009-12-31)
dd-MM-YYYY (31-12-2009)
yyyy-MM-dd HH:mm:ss (2009-12-31 23:59:59)
HH:mm:ss.SSS (23:59.59.999)
yyyy-MM-dd HH:mm:ss.SSS (2009-12-31 23:59:59.999)
yyyy-MM-dd HH:mm:ss.SSS Z (2009-12-31 23:59:59.999 +0100)