java 获取之前日期的方法

因项目需要,要拿到过去30天内的日期,翻阅总结得出以下结论,特此记载。

项目中使用了方式1.无需处理,就可以追溯到N天前,

两种方式:

1.此方式,若遇到跨年,跨月时间连续。

private static void getDay2() {
		Calendar calendar = Calendar.getInstance();
		for (int i = 0; i < 30; i++) {
			calendar.add(Calendar.DATE, -1);
			String yesterday = new SimpleDateFormat("yyyy-MM-dd ").format(calendar
					.getTime());
			System.out.println(yesterday);
		}


	}

结果如下:

2014-01-24 
2014-01-23 
2014-01-22 
2014-01-21 
2014-01-20 
2014-01-19 
2014-01-18 
2014-01-17 
2014-01-16 
2014-01-15 
2014-01-14 
2014-01-13 
2014-01-12 
2014-01-11 
2014-01-10 
2014-01-09 
2014-01-08 
2014-01-07 
2014-01-06 
2014-01-05 
2014-01-04 
2014-01-03 
2014-01-02 
2014-01-01 
2013-12-31 
2013-12-30 
2013-12-29 
2013-12-28 
2013-12-27 
2013-12-26 


2.此方式,使用时间戳进行计算,但时间不连续

private static void getDay() {
		for (int i = 0; i < 30; i++) {
			Date date = new Date(new Date().getTime() - (24 * 60 * 60 * 1000 * i));
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String time = sdf.format(date);
			System.out.println(time);
		}
	}
结果如下:

2014-01-25
2014-01-24
2014-01-23
2014-01-22
2014-01-21
2014-01-20
2014-01-19
2014-01-18
2014-01-17
2014-01-16
2014-01-15
2014-01-14
2014-01-13
2014-01-12
2014-01-11
2014-01-10
2014-01-09
2014-01-08
2014-01-07
2014-01-06
2014-01-05
2014-01-04
2014-01-03
2014-01-02
2014-01-01
2014-02-18
2014-02-17
2014-02-16
2014-02-15
2014-02-14


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值