扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
| 
 
 
 解析字符串 
 通过parse()方法,DateFormat能够以一个字符串创立一个Date对象。这个方法能抛出ParseException异常,所以你必须使用适当的异常处理技术。下面的例子程序通过字符串创建Date对象: 
 import java.util.*; 
 import java.text.*; 
 public class ParseExample { 
 public static void main(String[] args) { 
 String ds = "November 1, 2000"; 
 DateFormat df = DateFormat.getDateInstance(); 
 try { 
 Date d = df.parse(ds); 
 } 
 catch(ParseException e) { 
 System.out.println("Unable to parse " + ds); 
 } 
 } 
 } 
 
 在创建一个任意的日期时parse()方法很有用。我将通过另一种方法创建一个任意得日期。同时,你将看到怎样进行基本日期计算,例如计算90天后的另一天。你可以使用GregorianCalendar类来完成这个任务。 
 
 GregorianCalendar类 
 创建一个代表任意日期的一个途径使用GregorianCalendar类的构造函数,它包含在java.util包中: 
 GregorianCalendar(int year, int month, int date) 
 
 注意月份的表示,一月是0,二月是1,以此类推,是12月是11。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY, FEBRUARY,等等。所以,创建Wilbur 和 Orville制造第一架动力飞机的日期(December 17, 1903),你可以使用: 
 GregorianCalendar firstFlight = new GregorianCalendar(1903, Calendar.DECEMBER, 17); 
 出于清楚的考虑,你应该使用前面的形式。但是,你也应该学习怎样阅读下面的短格式。下面的例子同样表示December 17,1903(记住,在短格式中,11表示December) 
 GregorianCalendar firstFlight = new GregorianCalendar(1903, 11, 17); 
 
 在前面,你学习了转换Date对象到字符串。这里,你可以做同样的事情;但是首先,你需要将GregorianCalendar对象转换到Date。要做到这一点,你可以使用getTime()方法,从它得父类Calendar继承而来。GetTime()方法返回GregorianCalendar相应的Date对象。你能够创建GregorianCalendar对象,转换到Date对象,得到和输出相应的字符串这样一个过程。下面是例子: 
 import java.util.*; 
 import java.text.*; 
 public class Flight { 
 public static void main(String[] args) { 
 GregorianCalendar firstFlight = new GregorianCalendar(1903, Calendar.DECEMBER, 17); 
 Date d = firstFlight.getTime(); 
 DateFormat df = DateFormat.getDateInstance(); 
 String s = df.format(d); 
 System.out.println("First flight was " + s); 
 } 
 } 
 
 有时候创建一个代表当前时刻的GregorianCalendar类的实例是很有用的。你可以简单的使用没有参数的GregorianCalendar构造函数,象这样: 
 GregorianCalendar thisday = new GregorianCalendar(); 
 
 一个输出今天日期的例子程序,使用GregorianCalendar对象: 
 import java.util.*; 
 import java.text.*; 
 class Today { 
 public static void main(String[] args) { 
 GregorianCalendar thisday = new GregorianCalendar(); 
 Date d = thisday.getTime(); 
 DateFormat df = DateFormat.getDateInstance(); 
 String s = df.format(d); 
 System.out.println("Today is " + s); 
 } 
 } 
 
 注意到,Date()构造函数和GregorianCalendar()构造函数很类似:都创建一个对象,条件简单,代表今天。   | 
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。