java时间操作处理

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.}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值