java.util.date_java.util.Date

package com.etc.usual;

import java.util.Calendar;

import java.util.Date;

/**

*

* @author Administrator

* 在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:

* 年份 y 由整数 y - 1900 表示。

* 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。

* 日期(一月中的某天)按通常方式由整数 1 至 31 表示。

* 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。

* 分钟按通常方式由 0 至 59 的整数表示。

* 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

* 在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为 1 月 32 日,并把它解释为 2 月 1 日的相同含义。

*/

public class TestDate{

public static void main(String[] args) {

// TODO Auto-generated method stub

Date d1 = new Date();

System.out.println("d1:"+d1);//d1:Thu May 04 17:03:28 CST 2017

//Date d2=new Date(115,1,1,1,1,1); //国外一周时间是从星期天开始

//d2.setYear(115); //2015-1900=115 //年份是从1900年开始。这里要是setYear的话,年份累加

//d2.setMonth(0); //国外月份从0开始

//System.out.println("d2:"+d2);

//setYear(int year) :year + 1900代表的是当前年份

d1.setYear(115);

System.out.println("setYear:"+d1);//setYear:Mon May 04 17:03:28 CST 2015

//setMonth(int month) :month - 0-11 之间的月份值

d1.setMonth(11);

System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015

d1.setMonth(12); //若月份超过11,则进入下一年,从下一年的一月份开始计时

System.out.println("setMonth:"+d1);//setMonth:Mon Jan 04 17:03:28 CST 2016

d1.setMonth(-1); //若设置的月份为负数,则当前的月份减去设置的月份

System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015

System.out.println();

//setDate(int date) :date - 月份中 1-31 之间的某一天。

d1.setDate(1);

System.out.println("setDate:"+d1);//setDate:Tue Dec 01 17:03:28 CST 2015

d1.setDate(31);

System.out.println("setDate:"+d1);//setDate:Thu Dec 31 17:03:28 CST 2015

d1.setDate(32); //若设置的天数超过当前月份的天数,则进入下一月的第一天,开始计时

System.out.println("setDate:"+d1);//setDate:Fri Jan 01 17:03:28 CST 2016

d1.setDate(-2); //若设置的天数为负数,则当前的天数自动往后减设置的天数,开始计时

System.out.println("setDate:"+d1);//setDate:Tue Dec 29 17:03:28 CST 2015

System.out.println();

//setHours(int hours) 小时的范围0~23

d1.setHours(20);

System.out.println("setHours:"+d1);//setHours:Tue Dec 29 20:03:28 CST 2015

d1.setHours(23);

System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015

d1.setHours(24); //小时超过23,则进入第二天

System.out.println("setHours:"+d1);//setHours:Wed Dec 30 00:03:28 CST 2015

d1.setHours(-1); //小时数为负数,则进入前一天的小时

System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015

System.out.println();

//setMinutes(int minutes)

d1.setMinutes(55);

System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015

d1.setMinutes(60);//分钟值超过59,小时加一

System.out.println("setMinutes:"+d1);//setMinutes:Wed Dec 30 00:00:28 CST 2015

d1.setMinutes(-5);//分钟值为负数,小时减一,且分钟值从60自动减去设置的分钟值

System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015

System.out.println();

//setSeconds(int seconds)

d1.setSeconds(55);

System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:55 CST 2015

d1.setSeconds(60);

System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:56:00 CST 2015

d1.setSeconds(-1);

System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:59 CST 2015

System.out.println();

//toString()

System.out.println("toString:"+d1.toString());//toString:Tue Dec 29 23:55:59 CST 2015

//after(Date when) 测试此日期是否在指定日期之后。

Date d2=new Date();//当前时间 d1:Tue Dec 29 23:55:59 CST 2015

System.out.println("d1.after(d2):"+d1.after(d2));//d1.after(d2):false

//before(Date when) 测试此日期是否在指定日期之前。

System.out.println("d1.before(d2):"+d1.before(d2));//d1.before(d2):true

//compareTo(Date anotherDate)

//如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。

System.out.println("compareTo:"+d1.compareTo(d2)); //compareTo:-1

//equals(Object obj)

//比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。

Date d3=new Date();

Date d4=new Date();

System.out.println(d3+"---"+d4);//Thu May 04 17:03:28 CST 2017---Thu May 04 17:03:28 CST 2017

System.out.println("equals:"+d3.equals(d4));//equals:true

//求出毫秒数

Calendar c=Calendar.getInstance();

c.setTime(d3);

System.out.println(c.getTimeInMillis());//1493888608957

c.setTime(d4);

System.out.println(c.getTimeInMillis());//1493888608957

System.out.println("--------------");

/**

* public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

* 参数:

* date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

*/

Date d=new Date(0);

System.out.println("CST时间:"+d);//CST时间:Thu Jan 01 08:00:00 CST 1970

System.out.println("GMT时间:"+d.toGMTString());//GMT时间:1 Jan 1970 00:00:00 GMT

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值