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

  

java.util.Date的更多相关文章

  1. java基础--java.util.Date类型小结

    首先先来了解一下Date数据类型: . Date类型通常要和另一个 java.text.SimpleDateFormat类联合使用. 把long-->Date: public Date(long ...

  2. 前台传参数时间类型不匹配:type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'

    springMVC action接收参数: org.springframework.validation.BindException: org.springframework.validation.B ...

  3. java.util.Date与java.sql.Date

    我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...

  4. Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found

    今天在完成项目的时候遇到了下面的异常信息: 04-Aug-2014 15:49:27.894 SEVERE [http-apr-8080-exec-5] org.apache.catalina.cor ...

  5. java.util.Date和java.sql.Date的区别和相互转化

    java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它 们都有getTime方法返回毫秒数,自然就可以直接构建. ...

  6. java获取获得Timestamp类型的当前系统时间。以及java.util.date 、java.sql.Date之间的转换

    java获取取得Timestamp类型的当前系统时间java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new T ...

  7. java.util.Date和java.sql.Date的区别和相互转化(转)

    java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建.  ...

  8. Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.Date' to required type 'java.sql.Timestamp' for property 'wfsj'; nested exception is java.lang.Ill

    异常信息如下: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value ...

  9. java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

    java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Da ...

  10. 将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型

    问题描述: java里面时间类型转换成json数据就成这样了: "createTime":{"date":30,"day":3," ...

随机推荐

  1. Mysql 模糊查询总结

    语法: SELECT 字段集 FROM 表名 WHERE 字段名 LIKE 条件 模糊查询有四种匹配模式: 1.%:匹配任意0个或多个字符. 2._:匹配任意1个字符. 3.[]:匹配括号内所列字符中 ...

  2. 字符串拼接原理 javac 和 javap

    一.新建一个 Test1 类 public class Test1 { public static void main(String[] args) { String a = "a" ...

  3. Sum of Medians

    Sum of Medians time limit per test 3 seconds memory limit per test 256 megabytes In one well-known a ...

  4. 清北学堂模拟赛d4t6 c

    分析:这道题比较有难度. 观察题目,发现只有当一行翻了奇数次后才会产生黑色格子,设有x行被翻了奇数次,y列被翻了偶数次,那么x*m + y*n - 2*x*y = s,接下来就要解方程了.对于二元一次 ...

  5. windows下swoole安装教程

    1)下载安装cygwin(根据操作系统选择32位或者64位): https://cygwin.com/install.html 选择在windows中虚拟环境的root目录 选择下载安装的网络节点,如 ...

  6. Java多线程之如何确定线程数

    关于多线程的线程数的确定,最近研读过几篇paper,在此做一下笔记,方便使用时翻看. 1.<Java 虚拟机并发编程>中介绍 就是说:线程数 =  CPU的核心数 * (1 - 阻塞系数) ...

  7. pt-osc改表导致数据不一致案例分析

    2016-06-10 李丹 dba流浪猫 我们平时除了解决自己问题外,有时候也会协助圈内人士,进行一些故障排查,此案例就是帮某公司DBA进行的故障分析,因为比较典型,特分享一下,但仅仅是分享发生的过程 ...

  8. Android中的GraphicBuffer同步机制-Fence

    Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步.那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况.尤其是CPU.GPU和HWC之间的同步 ...

  9. linux 进程通信之 共享内存

    共享内存是被多个进程共享的一部分物理内存.共享内存是进程间共享数据的一种最快的方法.一个进程向共享内存区域写入了数据,共享这个内存区域的全部进程就能够立马看到当中的内容. 关于共享内存使用的API k ...

  10. QueryString 地址栏参数

    MXS&Vincene  ─╄OvЁ  &0000002 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...