A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 仲伟 中级黑马   /  2013-5-13 19:21  /  2451 人查看  /  4 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 仲伟 于 2013-5-14 17:09 编辑

1、Date类
      构造方法
      Date date1 = new Date();当前时间
      Date date2 = new Date(long date);
      与这个结合
      long date=system.currentTimeMillis();
      long date=date.getTime()  
      after(Date when)
          测试此日期是否在指定日期之后。
      before(Date when)
          测试此日期是否在指定日期之前。
      compareTo(Date anotherDate)
          比较两个日期的顺序。
      equals(Object obj)  
       比较两个日期的相等性
  1. import java.util.Date;
  2. import java.util.Random;


  3. public class DateTest {
  4.         
  5.         public static void main(String[] args) {
  6.                 //当前时间
  7.                 Date date = new Date();
  8.                 //after(Date when)
  9.                 //测试此日期是否在指定日期之后。
  10.                 Date dateAfter = new Date(date.getTime()-1000);
  11.                 if(date.after(dateAfter)){
  12.                         System.out.println(dateAfter+"是在"+date+"之后");
  13.                 }
  14.                 //before(Date when)
  15.         //测试此日期是否在指定日期之前。
  16.                 Date beforeDate = new Date(date.getTime()+1000);
  17.                 if(date.before(beforeDate)){
  18.                         System.out.println(beforeDate+"是在"+date+"之后");
  19.                 }
  20.                 //compareTo(Date anotherDate)
  21.                 //比较两个日期的顺序。
  22.                 Date randomDate = new  Date(date.getTime()+1000);
  23.                 //如果参数 Date 等于此 Date,则返回值 0;
  24.                 //如果此 Date 在 Date 参数之前,则返回小于 0 的值;
  25.                 //如果此 Date 在 Date 参数之后,则返回大于 0 的值
  26.                 if(date.compareTo(randomDate)>0){
  27.                         System.out.println(date+"大于"+randomDate);
  28.                 }else{
  29.                         System.out.println(date+"小于"+randomDate);
  30.                 }
  31.                 Date eqDate = new Date(date.getTime());
  32.                 //        equals(Object obj)  
  33.                 //比较两个日期的相等性        \
  34.                 if(date.equals(eqDate)){
  35.                         System.out.println("日期相通");
  36.                 }
  37.         }
  38. }
复制代码
2、DateFormat 类
      构造方法
      DateFormat df = new DateFormat();
      String format(Date date)
          将一个 Date 格式化为日期/时间字符串。
      Date parse(String source)
          从给定字符串的开始解析文本,以生成一个日期。
      Calendar getCalendar()  
       获取与此日期/时间格式器关联的日历。
      void setCalendar(Calendar newCalendar)
          设置此日期格式所使用的日历。

      TimeZone  getTimeZone()
       获取时区。
      void setTimeZone(TimeZone zone)
          为此 DateFormat 对象的日历设置时区。


3、SimpleDateFormat类型 是DateFormat的子类
      Date parse(String text, ParsePosition pos)
          解析字符串的文本,生成 Date。
      StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
          将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer。
  1. import java.text.DateFormat;
  2. import java.util.Calendar;
  3. import java.util.Date;
  4. import java.util.TimeZone;


  5. public class DateFormatAndSimpleDateFormat {

  6.         
  7.         public static void main(String[] args)  throws Exception {
  8.                 //构造方法
  9.                 DateFormat df =  DateFormat .getInstance();
  10.                
  11.                 //将一个 Date 格式化为日期/时间字符串。
  12.                 Date date = new Date();
  13.                 String Str2Date = df.format(date);
  14.                 System.out.println("日期编程字符串:"+Str2Date);         
  15.                
  16.                 //从给定字符串的开始解析文本,以生成一个日期。
  17.                 Date date2Str = df.parse(Str2Date);
  18.                 System.out.println("字符串编程日期"+date2Str);        
  19.                
  20.                 //获取与此日期/时间格式器关联的日历。
  21.                 Calendar calendar  =df.getCalendar();
  22.                 calendar.add(Calendar.YEAR, 1);
  23.                 System.out.println("变成日历:"+calendar.getTime());
  24.                
  25.                 //设置此日期格式所使用的日历。
  26.                 //当前时间
  27.                 Calendar calendar1 = Calendar.getInstance();
  28.                 df.setCalendar(calendar1);
  29.                 System.out.println("改变日历"+calendar.getTime());
  30.                
  31.                 //获取时区。
  32.                 TimeZone timeZone = df.getTimeZone();
  33.                 System.out.println("获取时区"+timeZone.getID());
  34.                
  35.                 //为此 DateFormat 对象的日历设置时区。
  36.                 df.setTimeZone(timeZone);
  37.                 System.out.println("修改时区"+timeZone.getID());


  38.         }

  39. }
复制代码
4、Calendar 类型

      Calendar rightNow = Calendar.getInstance();
       Date getTime()
          返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
       void setTime(Date date)
          使用给定的 Date 设置此 Calendar 的时间。
  
      boolean isSet(int field)
          确定给定日历字段是否已经设置了一个值,其中包括因为调用 get 方法触发内部字段计算而导致已经设置该值的情况   
       void clear()
          将此 Calendar 的所日历字段值和时间值(从历元至现在的毫秒偏移量)设置成未定义。

      set方法
      设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
       设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
       设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。
      add(int field, int amount)
          根据日历的规则,为给定的日历字段添加或减去指定的时间量
  1. import java.util.Calendar;
  2. import java.util.Date;


  3. public class CalendarDome {

  4.         public static void main(String[] args) {
  5.                 //new 一个日历类型
  6.                 Calendar rightNow = Calendar.getInstance();

  7.                 //返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
  8.                 Date date =rightNow.getTime();
  9.                 System.out.println("rightNow 变成时间类型"+date);
  10.                
  11.                 // 使用给定的 Date 设置此 Calendar 的时间。
  12.                 Date  Afterdate = new Date(date.getTime()+10000000);
  13.                 rightNow.setTime(Afterdate);
  14.                 System.out.println("修改之后的时间:"+rightNow.getTime());
  15.                                  
  16.                 //                set方法
  17.                 //                设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值
  18.                 //                 设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
  19.                 rightNow.set(Calendar.MONTH, 1);
  20.                 System.out.println("set方法1:"+rightNow.getTime());
  21.                 rightNow.set(Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH+1);
  22.                 System.out.println("set方法2"+rightNow.getTime());
  23.                 rightNow.set(Calendar.YEAR , Calendar.MONTH,Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE);
  24.                 System.out.println("set方法3"+rightNow.getTime());
  25.                
  26.                 //add(int field, int amount)      
  27.                 //根据日历的规则,为给定的日历字段添加或减去指定的时间量
  28.                 rightNow.add(Calendar.YEAR, 2);
  29.                 System.out.println("add方法1"+ rightNow.getTime());
  30.                
  31.         //将此 Calendar 的所日历字段值和时间值(从历元至现在的毫秒偏移量)设置成未定义。
  32.                   rightNow.clear();
  33.                   System.out.println(rightNow.getTime());


  34.         }
  35. }
复制代码
5、date 类型和SimpleDateFormate类转化
      SimpleDateFormate sdf = new SimpleDateFormate("yyyy-MM-dd");
      Date date = new Date();
      String StrDate=sdf.formate(date);
      Date date1 = sdf.parse(StrDate);
      这叫做日期的格式化
6、Date类和SimpleDateFormate类中都有比较时间的方法
      Date 类型 和 Calendar类型转化
      Calendar new = Calendar.getIntance();
       Date date =new.getTime();
      Calendar now1 = Calendar.getInstance();
      Date date = new Date(111111222);
      now1.setTime(date);
      为了时间计算
7、问题总结
Date 问题
http://bbs.itheima.com/thread-49823-1-1.html
Date中的一个问题
http://bbs.itheima.com/thread-38841-1-1.html
Date类   第18天视频
http://bbs.itheima.com/thread-37569-1-1.html
时间戳与Date/String之间的转换
http://bbs.itheima.com/thread-35372-1-1.html
Date日期
http://bbs.itheima.com/thread-26088-1-1.html

评分

参与人数 1技术分 +2 收起 理由
曹睿翔 + 2 看到改变了

查看全部评分

4 个回复

倒序浏览
兄弟,顶了。加油!
回复 使用道具 举报
本帖最后由 曹睿翔 于 2013-5-14 10:15 编辑

“说实话,我没加分欲望 ”,口快说了句,你别往心里去,我给你道歉。
你说了今天要加代码的,也完成了,很不错
这本来就是件愉快的事,帮助大家
回复 使用道具 举报
曹睿翔 发表于 2013-5-13 20:54
说实话,我没加分欲望

不用加了,你感觉不行,找别人吧

点评

无意冒犯你的成果,只想尽快完善  发表于 2013-5-14 10:19
回复 使用道具 举报
曹睿翔 发表于 2013-5-13 20:54
“说实话,我没加分欲望 ”,口快说了句,你别往心里去,我给你道歉。
你说了今天要加代码的,也完成了, ...

因为本人基础不怎么样,所以这点东西弄了,很长时间。抱歉,我也没有别的意思。如果感觉不行,您可以找一个适合的人,干这事情。你开始我也只是想试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马