如何确定Java中给定日期前一天的日期? [英] How to determine the date one day prior to a given date in Java?

查看:582
本文介绍了如何确定Java中给定日期前一天的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我假定Java有一些内置的方法来做到这一点。日期?



例如,假设我给了3/1/2009。以前的日期是2009年2月28日。如果我是在2008年3月1日被提供的,那么以前的日期是2/29/2008。

解决方案

日历界面。

 日历cal = Calendar.getInstance(); 
cal.setTime(myDate);
cal.add(Calendar.DAY_OF_YEAR,-1);
Date oneDayBefore = cal.getTime();

以这种方式执行添加保证您获得有效的日期。这在一年的第一年也是有效的,例如如果 myDate 是2012年1月1日, oneDayBefore 将于2011年12月31日。


I am assuming Java has some built-in way to do this.

Given a date, how can I determine the date one day prior to that date?

For example, suppose I am given 3/1/2009. The previous date is 2/28/2009. If I had been given 3/1/2008, the previous date would have been 2/29/2008.

解决方案

Use the Calendar interface.

Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
cal.add(Calendar.DAY_OF_YEAR,-1);
Date oneDayBefore= cal.getTime();

Doing "addition" in this way guarantees you get a valid date. This is valid for 1st of the year as well, e.g. if myDate is January 1st, 2012, oneDayBefore will be December 31st, 2011.

这篇关于如何确定Java中给定日期前一天的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆