您的位置:首页 > 编程语言 > Java开发

java时间处理

2014-03-18 13:18 134 查看

使用Calendar根据当前日期算前一年、前一月、前一天

本来想用SimpleDateFormat根据当前日期计算前一年、前一月、前一天的日期,发现用这个挺麻烦的,后来发现使用Calendar还是挺方便的。

Calendar中有个核心的方法:add(int field,int amount),用起来很简单。

Calendar ca = Calendar.getInstance();// 得到一个Calendar的实例

//ca.setTime(new Date()); // 设置时间为当前时间

ca.set(2011, 11, 17);// 月份是从0开始的,所以11表示12月
ca.add(Calendar.YEAR, -1); // 年份减1
ca.add(Calendar.MONTH, -1);// 月份减1
ca.add(Calendar.DATE, -1);// 日期减1
Date resultDate = ca.getTime(); // 结果
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(resultDate));

Calendar ca = Calendar.getInstance();// 得到一个Calendar的实例
//ca.setTime(new Date()); // 设置时间为当前时间
ca.set(2011, 11, 17);// 月份是从0开始的,所以11表示12月
ca.add(Calendar.YEAR, -1); // 年份减1
ca.add(Calendar.MONTH, -1);// 月份减1
ca.add(Calendar.DATE, -1);// 日期减1
Date resultDate = ca.getTime(); // 结果
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(resultDate));


从上面的代码发现Calendar配合SImpleDateFormat来使用还是很方便的。

时间与string转化

String str="2010-5-27";

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

Date date =sdf.parse(str);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

获取年 获取月

Integer year = g.get(Calendar.YEAR);

Integer month=g.get(Calendar.MONTH)

比较时间的大小

Date d = sdf.parse(myString);

boolean flag = d.before(nowdate);

if(flag)

System.out.print("早于今天")

else

System.out.print("晚于今天")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: