java日期类型的转换和填坑

一、Date、String、Calendar类型间的转化

1.Calendar 转化 String 
 //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 
Calendar calendat = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());

 

2.String 转化Calendar

String str="2010-5-27";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

Date date =sdf.parse(str);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

 

3.Date 转化String

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

String dateStr=sdf.format(new Date());

 

4.String 转化Date 
String str="2010-5-27";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

Date birthday = sdf.parse(str);

 

5.Date 转化Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new java.util.Date());

6.Calendar转化Date

Calendar calendar = Calendar.getInstance();
java.util.Date date =calendar.getTime();

二、Date型填坑

1.Date型获得“年”的方法

Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.get(Calendar.YEAR);

误区:new Date().getYear();获得的值会有误,

js中可以使用getFullYear()获得完整的年份。

 

2.当前日期加一天的方法:

a)  Date  d  =  new Date(new Date().getTime()+24*3600*1000);   

b) Date date=new   Date();//取时间 
Calendar   calendar   =   new   GregorianCalendar(); 
calendar.setTime(date); 
calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 
date=calendar.getTime();   //这个时间就是日期往后推一天的结果   

 

3.new Date()的一些坑

a) .getMonth():范围为0-11,需要加1获得正确的月份;

b) .getDay():范围为0-6,为获得星期几,0代表星期日;

c) .getDate():为获得日期(月份下的);

d) .getYear():并不能获得完整的年份,请参考二.1下的方法获得。

 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值