下面的代码说明如何将String类型的日期转换成java.util.Date类型的对象。为了实现转换,我们使用java.text.SimpleTextFormat类,它继承自java.txt.TextFormat抽象类。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
public class StringToDate
{
public static void main(String[] args)
{
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try
{
Date today = df.parse("20/12/2005");
System.out.println("Today = " + df.format(today));
} catch (ParseException e)
{
e.printStackTrace();
}
}
}
下面是代码的结果:
Today = 20/12/2005
例子的开始部分创建了一个“dd/MM/yyyy”格式的SimpleDateFormat对象,它意味着要转换的日期字符串的格式是日期、月、年。
最后,通过使用parse(String srouce)函数得到一个Date类的实例。由于当给定的字符串不符合给定格式时,parse对象跑出ParseException异常,我们需要捕获它。
下面的列表是从javadoc文档中摘取的用来格式化Date对象的一些预定义的模式。
Letter Date / Time Component Examples
G Era designator AD
y Year 1996; 96
M Month in year July; Jul; 07
w Week in year 27
W Week in month 2
D Day in year 189
d Day in month 10
F Day of week in month 2
E Day in week Tuesday; Tue
a Am/pm marker PM
H Hour in day (0-23) 0
k Hour in day (1-24) 24
K Hour in am/pm (0-11) 0
h Hour in am/pm (1-12) 12
m Minute in hour 30
s Second in minute 55
S Millisecond 978
z Time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone -0800