热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->java 
站内搜索:
Java编程语言中创建和使用日期的详细介绍(1)
作者:偶偶 来源:赛迪网 整理日期:2008-4-9
     Java统计从1970年1月1日起的毫秒的数量表示日期。也就是说,例如,1970年1月2日,是在1月1日后的86,400,000毫秒。同样的,1969年12月31日是在1970年1月1日前86,400,000毫秒。Java的Date类使用long类型纪录这些毫秒值.因为long是有符号整数,所以日期可以在1970年1月1日之前,也可以在这之后。Long类型表示的最大正值和最大负值可以轻松的表示290,000,000年的时间,这适合大多数人的时间要求。

Date类

Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),它创建一个表示创建时刻的对象。getTime()方法返回Date对象的long值。在下面的程序中,使用Date()构造函数创建一个表示程序运行时刻的对象,并且利用getTime()方法找到这个日期代表的毫秒数量:

importjava.util.*;

publicclassNow{

publicstaticvoidmain(String[]args){

Datenow=newDate();

longnowLong=now.getTime();

System.out.println("Valueis"+nowLong);

}

}

运行这个程序后,得到972,568,255,150.快速确认一下这个数字,起码在一个合理的范围:它不到31年,这个数值相对1970年1月1日到写这篇文章的时间来说,是合理的。计算机是这个毫秒值表示时间,人们可不愿意说"将在996,321,998,34见到你。"幸运的是,Java提供了一个转换Date对象到字符串的途径,表示成传统的形式。们在下一节讨论DateFormat类,它直观的建立日期字符串。

DateFormat类

DateFormat类的一个目标是建立一个人们能够识别的字符串。然而,因为语言的差别,不是所有的人希望看到严格的相同格式的日期。法国人更喜欢看到"25decembre2000,",但是美国人习惯看到"December25,2000."所以一个DateFormat的实例创建以后,这个对象包含了日期的显示格式的信息。如果使用用户电脑区域设置缺省的格式,你可以象下面那样,创建DateFormat对象,使用getDateInstance()方法:

DateFormatdf=DateFormat.getDateInstance();

DateFormat类在java.text包中可以找到。

转换成字符串

你可以使用format()方法转换Date对象为一个字符串。下面的示例程序说明了这个问题:

importjava.util.*;

importjava.text.*;

publicclassNowString{

publicstaticvoidmain(String[]args){

Datenow=newDate();

DateFormatdf=DateFormat.getDateInstance();

Strings=df.format(now);

System.out.println("Todayis"+s);

}

}

在上面的代码中,展示了没有参数,使用缺省格式的getDateInstance()方法。Java还提供了几个选择日期格式,你可以通过使用重载的getDateInstance(intstyle)获得。出于方便的原因,DateFormat提供了几种预置的常量,你可以使用这些常量参数。下面是几个SHORT,MEDIUM,LONG,和FULL类型的示例:

importjava.util.*;

importjava.text.*;

publicclassStyleDemo{

publicstaticvoidmain(String[]args){

Datenow=newDate();

DateFormatdf=DateFormat.getDateInstance();

DateFormatdf1=DateFormat.getDateInstance(DateFormat.SHORT);

DateFormatdf2=DateFormat.getDateInstance(DateFormat.MEDIUM);

DateFormatdf3=DateFormat.getDateInstance(DateFormat.LONG);

DateFormatdf4=DateFormat.getDateInstance(DateFormat.FULL);

Strings=df.format(now);

Strings1=df1.format(now);

Strings2=df2.format(now);

Strings3=df3.format(now);

Strings4=df4.format(now);

System.out.println("(Default)Todayis"+s);

System.out.println("(SHORT)Todayis"+s1);

System.out.println("(MEDIUM)Todayis"+s2);

System.out.println("(LONG)Todayis"+s3);

System.out.println("(FULL)Todayis"+s4);

}

}

程序输出如下:

(Default)TodayisNov8,2000

(SHORT)Todayis11/8/00

(MEDIUM)TodayisNov8,2000

(LONG)TodayisNovember8,2000

(FULL)TodayisWednesday,November8,2000

[1]  [2]  [3]  [4]  
相关文章