注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

java的Date类的getYear(),getMonth过时方法的替换  

2012-11-19 07:56:50|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian


Calendar 在 Java 中是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。

我们也可以自己的 Calendar 实现类,然后将它作为 Calendar 对象返回(面向对象的特性)。

JDK 1.6及以上版本

java.util.Date.getYear()用Calendar.get(Calendar.YEAR) 代替

java.util.Date.getMonth()用Calendar.get(Calendar.MONTH)代替


Java代码 
  1. 原:  
  2.   date.getYear();  
  3.   date.getMonth();     
  4. 现:  
  5.   SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");  
  6.   Calendar cal = Calendar.getInstance();  
  7.   cal.setTime(tempDate);  
  8.   System.out.println(ft.format(calender.getTime()));  
  9.   System.out.println(calender.get(Calendar.YEAR));  
  10.   System.out.println(calender.get(Calendar.MONTH));  



Calendar 对象在使用时,有一些值得注意的事项:

1. Calendar 的 set() 方法

set(int field, int value) - 是用来设置"年/月/日/小时/分钟/秒/微秒"等值

field 的定义在 Calendar 中

set(int year, int month, int day, int hour, int minute, int second) 但没有

set(int year, int month, int day, int hour, int minute, int second, int millisecond) 前面 set(int,int,int,int,int,int) 方法不会自动将 MilliSecond 清为 0。

另外,月份的起始值为0而不是1,所以要设置八月时,我们用7而不是8。

calendar.set(Calendar.MONTH, 7);

我们通常需要在程序逻辑中将它清为 0。



新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian

  评论这张
 
阅读(12311)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016