下面的代码说明如何将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 |
|