在Java平台首次发布时,唯一支持日历计算类的就是Date类;在Java1.1版中,Calendar类被添加到Java平台中,以矫正Date的缺点,由此大部分的Date方法就被弃用了。可惜的是,这样做很糟糕。
比如:
1:Date将一月份表示为0,而Calendar延续了这个错误。因此下面的代码会输出2000:
Calendar calendar=Calendar.getInstance(); calendar.set(1999,12,31); System.out.println(calendar.get(Calendar.YEAR)+" ");
因为11表示12月份,而12表示2000年的1月份。所以,这里是很容易出错的。修订的办法:
calendar.set(1999,Calendar.DECEMBER,31)
2:Date.getDay返回的是星期日期而不是月份日期,比如下面的代码将输出5(表示星期五)
Calendar calendar=Calendar.getInstance(); calendar.set(1999,Calendar.DECEMBER,31); Date date=(Date) calendar.getTime(); System.out.println(date.getDay());
Date.getDay()是把周日当0开始算的,周一为1,以此类推。
Calendar.get(Calendar.get(Calendar.DAY_OF_WEEK))是把周日当1开始算的。周一为2,以此类推。
这又是一点容易引起混淆的地方。
在使用Calendar和Date的时候经常会遇到问题,所以要加倍小心。最好还是将Date类放弃吧。
下面粘贴一个Date和Calendar相互转换的例子:
Calendar和Date()转化 (1) Calendar转化Date() Calendar cal=Calendar.getInstance(); Date() date=cal.getTime(); (2) Date转化Calendar Date date=new Date(); Calendar cal=Calendar.getInstance(); cal.setTime(date);
相关推荐
Java 之 Date 和 Calendar 实例
Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当 前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的...
本文是关于Date & Calendar类的总结。比较详细,.doc格式文件 。
java中时间类Date和Calendar的使用 java中时间类Date和Calendar的使用 <PRE class=java name="code">package cn.com; import java.text.DateFormat; import java.text.ParseException; import java.text....
Java 之 Date 和 CalendarJava 之 Date 和 Calendar
Calendar 和 Date 类 是JAVA很重要的两个类,学好它们对于JAVA学习的道路非常重要
第二十五天,对包装类及Date类和Calendar类的学习
关于java中date和Calendar日期处理小结,包含一些常用方法等
Date与Calendar 两者的区别与联系
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
JAVA的Date类与Calendar类.docx
Calendar和Date的转化,java学习总结,java学习总结,java学习总结
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。使用Date类的默认构造方法创建出的...
主要为大家详细介绍了Java中Date和Calendar常用用法,感兴趣的小伙伴们可以参考一下
Calendar和Date大部分常量及方法对比,提供计算上月某一天是几号,指定的某年某月某日的时间信息。
第五章.常用类.java.API概述——Date类,Calendar类,SimpleDateFormat类,Big
1.Calendar 转化 String 2.String 转化Calendar 3.Date 转化String 4.String 转化Date 5.Date 转化Calendar 6.Calendar转化Date
本压缩包详尽列举了JavaAPI当中的System、Runtime、Math、Date、Calendar类的实例,特别是日期格式与字符串格式的各种灵活转换。更多内容请参见:http://blog.csdn.net/zhongkelee
主要介绍了Java BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类用法,结合实例形式详细分析了Java使用BigInteger类,BigDecimal类,Date类,DateFormat类及Calendar类进行数值运算与日期运算相关操作...
NULL 博文链接:https://chaoyi.iteye.com/blog/2082315