下面的代码说明如何将 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/2009”);
System.out.println(“Today = ” + df.format(today));
} catch (ParseException e)
{
e.printStackTrace();
}
}
}
下面是代码的结果:
Today = 20/12/2009
例子的开始部分创建了一个“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