从日期减去一天,格式为mm / dd / yyyy

时间:2016-07-25 17:14:57

标签: java date datetime date-format

我有一个日期字段放在.csv中,我需要从每个日期减去一天。这些日期从一个csv作为String变量获取,并作为String变量放入另一个日期。这些日期都格式化为mm / dd / yyyy,我需要从这些日期中扣除一天。我正在寻找如何做到这一点的最佳解决方案。

例如我的日期为2016年7月28日,我需要将其带到2016年7月27日。

非常感谢所有帮助,提前谢谢。

编辑:我非常感谢所有答案如此之快,真的最终把它分成了第一个评论的步骤,我本可以使用JodaTime的答案,但我只是去了我看到的其他选项。

这是代码:

private String subtractDate(String date) {
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
        String returnValue = "";
        try {
            Date newDate = formatter.parse(date);
            Calendar cal = Calendar.getInstance();
            cal.setTime(newDate);
            cal.add(Calendar.DATE, -1);
            Date minusOne = cal.getTime();
            returnValue = formatter.format(minusOne);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return returnValue;
    }

这现在正常工作,我再次非常感谢所有答案。我将接受第一个答案,因为我认为它会起作用,但我只是没有走那条路。

1 个答案:

答案 0 :(得分:0)

SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy");

Date date = dateFormat.parse("Your date as String");

之后你可以使用JodaTime减去这一天。

DateTime dateTime = new DateTime(date);

dateTime.minusDays(1); `