赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

JAVA基础应用: 处理Java中的日期问题 (2)

发布时间:2007.03.27 01:57     来源:赛迪网技术社区    作者:cyber3

解析字符串

通过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()构造函数很类似:都创建一个对象,条件简单,代表今天。

<<上一页 1 2 3 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· JAVA应用: 浮点数转化为大写中文金额 (03-26) · 买服务器不如租 用戴尔服务器只要999 (03-11)
· 盯紧你的钞票 专家手把手教你采购PC (03-05) · 精明购机 购买PC时最易遇到的5大误区 (02-09)
· 成本和应用 谁是RFID的当务之急? (02-06) · 高手谈 Windows XP 中磁盘的分区应用 (01-22)
· 数据库中通用数据转换工具应用简介 (01-19) · 联想服务器 搭建内蒙古区“三网一库” (01-18)
· Linux操作系统中GCC的应用介绍(下) (01-16) · Linux操作系统中GCC的应用介绍(上) (01-16)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统