1. package com.etc.usual;
  2.  
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. /**
  6. *
  7. * @author Administrator
  8. * 在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:
  9.  
  10. * 年份 y 由整数 y - 1900 表示。
  11. * 月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
  12. * 日期(一月中的某天)按通常方式由整数 1 至 31 表示。
  13. * 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。
  14. * 分钟按通常方式由 0 至 59 的整数表示。
  15. * 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。
  16. * 在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为 1 月 32 日,并把它解释为 2 月 1 日的相同含义。
  17. */
  18. public class TestDate{
  19.  
  20. public static void main(String[] args) {
  21. // TODO Auto-generated method stub
  22. Date d1 = new Date();
  23. System.out.println("d1:"+d1);//d1:Thu May 04 17:03:28 CST 2017
  24.  
  25. //Date d2=new Date(115,1,1,1,1,1); //国外一周时间是从星期天开始
  26. //d2.setYear(115); //2015-1900=115 //年份是从1900年开始。这里要是setYear的话,年份累加
  27. //d2.setMonth(0); //国外月份从0开始
  28. //System.out.println("d2:"+d2);
  29.  
  30. //setYear(int year) :year + 1900代表的是当前年份
  31. d1.setYear(115);
  32. System.out.println("setYear:"+d1);//setYear:Mon May 04 17:03:28 CST 2015
  33.  
  34. //setMonth(int month) :month - 0-11 之间的月份值
  35. d1.setMonth(11);
  36. System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015
  37. d1.setMonth(12); //若月份超过11,则进入下一年,从下一年的一月份开始计时
  38. System.out.println("setMonth:"+d1);//setMonth:Mon Jan 04 17:03:28 CST 2016
  39. d1.setMonth(-1); //若设置的月份为负数,则当前的月份减去设置的月份
  40. System.out.println("setMonth:"+d1);//setMonth:Fri Dec 04 17:03:28 CST 2015
  41. System.out.println();
  42.  
  43. //setDate(int date) :date - 月份中 1-31 之间的某一天。
  44. d1.setDate(1);
  45. System.out.println("setDate:"+d1);//setDate:Tue Dec 01 17:03:28 CST 2015
  46. d1.setDate(31);
  47. System.out.println("setDate:"+d1);//setDate:Thu Dec 31 17:03:28 CST 2015
  48. d1.setDate(32); //若设置的天数超过当前月份的天数,则进入下一月的第一天,开始计时
  49. System.out.println("setDate:"+d1);//setDate:Fri Jan 01 17:03:28 CST 2016
  50. d1.setDate(-2); //若设置的天数为负数,则当前的天数自动往后减设置的天数,开始计时
  51. System.out.println("setDate:"+d1);//setDate:Tue Dec 29 17:03:28 CST 2015
  52. System.out.println();
  53.  
  54. //setHours(int hours) 小时的范围0~23
  55. d1.setHours(20);
  56. System.out.println("setHours:"+d1);//setHours:Tue Dec 29 20:03:28 CST 2015
  57. d1.setHours(23);
  58. System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015
  59. d1.setHours(24); //小时超过23,则进入第二天
  60. System.out.println("setHours:"+d1);//setHours:Wed Dec 30 00:03:28 CST 2015
  61. d1.setHours(-1); //小时数为负数,则进入前一天的小时
  62. System.out.println("setHours:"+d1);//setHours:Tue Dec 29 23:03:28 CST 2015
  63. System.out.println();
  64.  
  65. //setMinutes(int minutes)
  66. d1.setMinutes(55);
  67. System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015
  68. d1.setMinutes(60);//分钟值超过59,小时加一
  69. System.out.println("setMinutes:"+d1);//setMinutes:Wed Dec 30 00:00:28 CST 2015
  70. d1.setMinutes(-5);//分钟值为负数,小时减一,且分钟值从60自动减去设置的分钟值
  71. System.out.println("setMinutes:"+d1);//setMinutes:Tue Dec 29 23:55:28 CST 2015
  72. System.out.println();
  73.  
  74. //setSeconds(int seconds)
  75. d1.setSeconds(55);
  76. System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:55 CST 2015
  77. d1.setSeconds(60);
  78. System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:56:00 CST 2015
  79. d1.setSeconds(-1);
  80. System.out.println("setSeconds:"+d1);//setSeconds:Tue Dec 29 23:55:59 CST 2015
  81. System.out.println();
  82.  
  83. //toString()
  84. System.out.println("toString:"+d1.toString());//toString:Tue Dec 29 23:55:59 CST 2015
  85.  
  86. //after(Date when) 测试此日期是否在指定日期之后。
  87. Date d2=new Date();//当前时间 d1:Tue Dec 29 23:55:59 CST 2015
  88. System.out.println("d1.after(d2):"+d1.after(d2));//d1.after(d2):false
  89.  
  90. //before(Date when) 测试此日期是否在指定日期之前。
  91. System.out.println("d1.before(d2):"+d1.before(d2));//d1.before(d2):true
  92.  
  93. //compareTo(Date anotherDate)
  94. //如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
  95. System.out.println("compareTo:"+d1.compareTo(d2)); //compareTo:-1
  96.  
  97. //equals(Object obj)
  98. //比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。
  99. Date d3=new Date();
  100. Date d4=new Date();
  101. System.out.println(d3+"---"+d4);//Thu May 04 17:03:28 CST 2017---Thu May 04 17:03:28 CST 2017
  102. System.out.println("equals:"+d3.equals(d4));//equals:true
  103.  
  104. //求出毫秒数
  105. Calendar c=Calendar.getInstance();
  106. c.setTime(d3);
  107. System.out.println(c.getTimeInMillis());//1493888608957
  108. c.setTime(d4);
  109. System.out.println(c.getTimeInMillis());//1493888608957
  110.  
  111. System.out.println("--------------");
  112. /**
  113. * public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
  114. * 参数:
  115. * date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
  116. */
  117. Date d=new Date(0);
  118. System.out.println("CST时间:"+d);//CST时间:Thu Jan 01 08:00:00 CST 1970
  119. System.out.println("GMT时间:"+d.toGMTString());//GMT时间:1 Jan 1970 00:00:00 GMT
  120.  
  121. }
  122.  
  123. }

  

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. Python-暑期实训day 1

    python基础: 一 编程语言 什么是编程语言? 上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人的奴隶,人类 ...

  2. iview表单密码自定义验证

    From中定义   ref="passwordForm" 获取dom节点  :model="passwordForm" 关联表单数据对象 :rules=&quo ...

  3. 28 I/O限制的异步操作

    28.2 C#的异步函数 private static async Task<string> IssueClientRequestAsync(string serverName, stri ...

  4. MySQL中的分页操作结合python

    mysql中的分页操作结合python --分页: --方式1: ;-- 读取十行 , --从第十行读取 往后再读十行 --方式2: offset ; --从第二十行开始读取10行 -- 结合pyth ...

  5. Linux - redis持久化RDB与AOF

    目录 Linux - redis持久化RDB与AOF RDB持久化 redis持久化之AOF redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 实验环境准备 备份这个rdb ...

  6. E. Rusty String

    E. Rusty String time limit per test 3 seconds memory limit per test 512 megabytes input standard inp ...

  7. iOS:如何让xib同时兼容支持iOS6和iOS7

    做法如下: 1. 取消xib的Use Autolayout属性的勾选: 2. 将xib中每一个子控件(没错,每一个控件,包括UIButton.UILabel等等),将它们的Y Frame的值全部增加2 ...

  8. PHP array_fill()

    定义和用法 array_fill() 函数用给定的值填充数组,返回的数组有 number 个元素,值为 value.返回的数组使用数字索引,从 start 位置开始并递增.如果 number 为 0 ...

  9. [Vue] Code split by route in VueJS

    In this lesson I show how to use webpack to code split based on route in VueJS. Code splitting is a ...

  10. [csdn markdown]使用摘记一源码高亮及图片上传和链接

    本文主要内容是体验csdn markdown的代码块高亮显示和图片链接及上传. 图片上传 上边这是标题行.仅仅须要使用一个#就能够表示.几个表示是几级标题 图片上传 本地图片上传控件 本地图片上传方式 ...