您的位置:首页 > 编程语言 > Java开发

java时间操作处理

2010-06-25 22:25 225 查看
1./*@src http://eric-619.javaeye.com/blog/693638   2.* 类简介:

  3.* 1. java.util.Date类:
  4.* 表示特定的时间点,精确到毫秒,但不支持日期的国际化和分时区显示。

  5.* 2. java.util.Calendar类:
  6.* 是抽象类,提供了常规的日期修改功能和国际化支持。

  7.* 3. java.util.GregorianCalendar类:

  8.* 是Calendar类的子类,有用的是有个判断闰年的方法。
  9.* 4. java.util.Locale类:

  10.* 描述特定的地理、政治、文化上的地区,Locale对象主要封装了“地区”和“语言种类”两方面

  11.* 的信息,通常用于在国际化和本地化程序中的地区、语言相关的方式显示日期、数字或文本信息等。

  12.* 5. java.util.TimeZone类:

  13.* 此抽象类描述时区信息。可以调用静态方法getDefault()一获得该类的实例对象。

  14.* 6. java.text.DateFormat类:
  15.* 提供了将日期/时间信息进行格式化处理的功能。

  16.* 7. java.text.SimpleDateFormat类:

  17.* DateFormat类的子类,自定义格式化日期和时间。
  18.*/
  19.
  20.

  21.import java.util.*;
  22.import java.util.Date;

  23.import java.util.Calendar;
  24.import java.util.GregorianCalendar;

  25.import java.util.Locale;
  26.import java.util.TimeZone;

  27.import java.text.DateFormat;

  28.import java.text.SimpleDateFormat;

  29.import java.text.ParseException;
  30.

  31.public class TestTime {
  32.

  33.public static void main(String [] args){

  34. new TestTime().testDate();
  35. new TestTime().testCalendar();

  36. new TestTime().testLocale();
  37. new TestTime().testTimeZone();

  38. new TestTime().testGregorianCalendar();

  39. new TestTime().testSimpleDateFormat();
  40.}
  41.

  42.// 1.java.util.Date类:表示特定的时间点,精确到毫秒,但不支持日期的国际化和分时区显示。

  43.public void testDate(){
  44. Date d1 = new Date();

  45. Date d2 = new Date(2000);
  46. System.out.println(d1);

  47. System.out.println(d2);

  48. System.out.println(d2.compareTo(d1)); //d2大输出1,d2小输出-1,等则输出0

  49. System.out.println(d2.equals(d1));

  50. System.out.println("----------------------");
  51.}
  52.

  53.// 2. java.util.Calendar类:是抽象类,提供了常规的日期修改功能和国际化支持。

  54.public void testCalendar(){

  55. //调用静态方法getInstance()来获得实例对象,此对象基于当前系统时间

  56. Calendar c = Calendar.getInstance();

  57. System.out.println(c.get(Calendar.YEAR));

  58. System.out.println(c.get(Calendar.MONTH));

  59. System.out.println(c.get(Calendar.DATE));

  60. System.out.println(c.get(Calendar.HOUR_OF_DAY));

  61. System.out.println(c.get(Calendar.MINUTE));

  62. System.out.println(c.get(Calendar.SECOND));

  63. System.out.println(c.get(Calendar.AM_PM));
  64.

  65. c.add(Calendar.YEAR,10); // 在现在的基础上加了10年

  66. System.out.println(c.get(Calendar.YEAR));
  67.

68. c.set(2009,8,28); //设置基于的时间,其他时间默认当前系统时间

  69. System.out.println(c.get(Calendar.YEAR));

  70. System.out.println(c.get(Calendar.MONTH));

  71. System.out.println(c.get(Calendar.DATE));

  72. System.out.println(c.get(Calendar.HOUR_OF_DAY));

  73. System.out.println("--------------------------");
  74.}
  75.

  76.// 3. java.util.GregorianCalendar类:是Calendar类的子类,有用的是有个判断闰年的方法。

  77.public void testGregorianCalendar(){

  78. GregorianCalendar gc = new GregorianCalendar();

  79. System.out.println(gc.isLeapYear(2008));

  80. System.out.println("------------------------");
  81.}
  82.

  83.
  84./* 4. java.util.Locale类:

  85.* 描述特定的地理、政治、文化上的地区,Locale对象主要封装了“地区”和“语言种类”两方面

  86.* 的信息,通常用于在国际化和本地化程序中的地区、语言相关的方式显示日期、数字或文本信息等
  87.*/

  88. public void testLocale(){

  89. Locale defaultLocale = Locale.getDefault(); //当前机器所在的国家和地区

  90. System.out.println(defaultLocale);

  91. System.out.println(defaultLocale.getLanguage()); //英文宿写的语言名

  92. System.out.println(defaultLocale.getCountry()); //英文宿写的国家名

  93. System.out.println(defaultLocale.getDisplayName()); //语言名(国家名)

  94. System.out.println(defaultLocale.getDisplayLanguage()); //语言名

  95. System.out.println(defaultLocale.getDisplayCountry()); //国家名

  96. System.out.println("--------------------------");
  97.}
  98.

  99.

  100. // 5. java.util.TimeZone类: 此抽象类描述时区信息。可以调用静态方法getDefault()一获得该类的实例对象。

  101.public void testTimeZone(){

  102. //String[] ids = TimeZone.getAvailableIDs();

  103. TimeZone tz = TimeZone.getDefault();

  104. System.out.println(tz);

  105. System.out.println(tz.getDisplayName()); //isLeapYear()返回值是布尔类型

  106. System.out.println("---------------------------");
  107.}

  108.
  109.

  110.// 6. java.text.DateFormat类: 提供了将日期/时间信息进行格式化处理的功能。

  111.public void testDateFormat(){

  112. DateFormat df1 = DateFormat.getDateTimeInstance();

  113. String str1 = df1.format(new Date());

  114. System.out.println(str1);
  115.}
  116.
  117.

  118.// 7. java.text.SimpleDateFormat类:DateFormat类的子类,自定义格式化日期和时间,是12小时制。

  119.public void testSimpleDateFormat(){

  120. SimpleDateFormat sdf1 = new SimpleDateFormat();

  121. String ssf1 = sdf1.format(new Date());

  122. System.out.println(ssf1);

  123. SimpleDateFormat sdf2 = new SimpleDateFormat("2009/04/29");

  124. SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");

  125.
  126. String ssf2 = sdf2.format(new Date());

  127. System.out.println(ssf2);
  128. try{

  129. Date d = sdf2.parse("2009/04/29");
  130. System.out.println(d);

  131. }catch(ParseException e){
  132. e.printStackTrace();

  133. }
  134.

  135. System.out.println("----------------------------");
  136.}

  137.}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: