获取各种格式的日期,主要是为了展示日期格式中各个字符所代表的含义,比如得到当前为星期几等等
/*************************************************************************************************
   *使用 System.currentTimeMillis() 获得当前系统时间的毫秒数
   *String toString() 将 Date 对象转化成以下形式的 :Thu Dec 29 16:43:11 CST 2011
   *String: dow mon dd hh:mm:ss zzz yyyy,其中
   *dow-代表是一周中的某一天(Sun, Mon, Tue, Wed, Thu, Fri, Sat)
         *mon-是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
         *dd-是一月中的某一天(01 至 31),显示为两位十进制数
         *hh-是一天中的小时(00 至 23),显示为两位十进制数
         *mm-是小时中的分钟(00 至 59),显示为两位十进制数
         *ss-是分钟中的秒数(00 至 61),显示为两位十进制数。 60,61 是因为有"润秒"
         *zzz-是时区(并可以反映夏令时)。标准时区缩写包括方法 parse 识别的时区缩写。
         *如果不提供时区信息,则 zzz 为空,即根本不包括任何字符
         *yyyy-是年份,显示为 4 位十进制数
   ***************************************************************************************************/
  /***********************************************************************
   * 字母 日期或时间元素 表示 示例
   * G Era 标志符 Text AD
   * y 年 Year 1996; 96              年份 YYYY 或 YY
   * M 年中的月份 MonthJuly; Jul; 07  月份  MM 或 M 
   * w 年中的周数 Number 27           年中的周数 w,即一年中的第几周
   * W 月份中的周数 Number 2          月份中的周数 W,即一月中的第几周
   * D 年中的天数 Number 189          年中的天数  D,即一年中的第几天
   * d 月份中的天数 Number 10         月份中的天数 d,即一月中的第几天
   * F 月份中的星期 Number 2          月份中的星期 F,即一月中的星期几(一般从周日开始算)
   * E 星期中的天数 Text Tuesday; Tue 星期中的天数 E,即星期几
   * a Am/pm 标记 Text PM            上午、下午
   * H 一天中的小时数(0-23) Number 0  小时数
   * k 一天中的小时数(1-24) Number 24
   * K am/pm 中的小时数(0-11)Number 0
   * h am/pm 中的小时数(1-12) Number 12
   * m 小时中的分钟数 Number 30
   * s 分钟中的秒数Number 55 S 毫秒数 Number 978
   * z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
   * Z 时区 RFC 822 time zone -0800
   **********************************************************************/
 
package com.java.xhm;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
/**
 * 获取各种格式的日期,主要是为了展示日期格式中各个字符所代表的含义
 * @author Administrator
 *
 */
public class DateDemoTest {
 /**
  * @param args
  */
 public static void main(String[] args) {
  Date date = new Date();
  SimpleDateFormat sdf = null; 
  
  System.out.println(date.toString()); //Fri Dec 30 10:43:22 CST 2011
  System.out.println("从1970年到现在为止的毫秒数:"+System.currentTimeMillis());//从1970年到现在为止的毫秒数:1325213002718
  sdf = new SimpleDateFormat("EEEE-MMMM-dd-yyyy");
  System.out.println(sdf.format(date));//星期五-十二月-30-2011
     sdf = new SimpleDateFormat("yyyy-MMMM-dd-EEEE");
     System.out.println(sdf.format(date));//2011-十二月-30-星期五
     sdf = new SimpleDateFormat("yyyy-MM-dd  E a HH:mm:ss zz ");
     System.out.println(sdf.format(date));//2011-12-30  星期五 上午 10:43:22 CST
     sdf = new SimpleDateFormat("yyyy-MMMM-dd EEEE");
     System.out.println(sdf.format(date));//2011-十二月-29 星期四
     sdf = new SimpleDateFormat("yyyy年MMMM月dd EEEE");
     System.out.println(sdf.format(date));//2011-十二月-29 星期四
     sdf = new SimpleDateFormat("yyyy年MM月dd EEEE");
     System.out.println(sdf.format(date));//2011-十二月-29 星期四
    
    
     /*******************************************************
      * GregorianCalendar类中有个判断是否为"闰年"的方法
      *******************************************************/
   //判断是否"闰年" leap year   
        GregorianCalendar cal = new GregorianCalendar();   
        boolean isLeapYear = cal.isLeapYear(1998);   
        System.out.println("is leap year 1998 = " + isLeapYear);   
        isLeapYear = cal.isLeapYear(2000);   
        System.out.println("is leap year 2000 = " + isLeapYear);   
    }   
 
   
   }