/*************************************************************************************************
*使用 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.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);
}
}