首页 > 解决方案 > 带有添加天数的常规字符串到日期转换

问题描述

获取当前日期并从日期添加 30 天并存储在名为的变量中reminderDueDate

def date = new Date().plus(30)
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
reminderDueDate =  simpleDateFormat .format(date)

从那个变量,我需要减去天让我知道怎么做?

say for example
reminderDueDate = 2019-09-07

我需要从remindDueDate 起减去7 天怎么办?

标签: javadategroovy

解决方案


SimpleDateFormat 是 Java SDK 附带的一个类。它将其对象表示中的日期转换为字符串。

因此,在调用之后,reminderDueDate = simpleDateFormat .format(date)您将拥有一个字符串,该字符串看起来符合简单日期格式对象构造函数中的指定模式。当然,您不能将天数添加到没有意义的字符串中。

您可以通过以下方式获取日期:

d = Date.parse('yyyy-MM-dd', reminderDueDate)
// and now:
d.minus(1)

然而,作为一个旁注,我相信这个 API 已经很老了,因为 Java 8 提供了更简单的 API 来使用我建议使用它LocalDate

例如,您将在此处找到有关将 LocalDate 转换为 String 的信息。


推荐阅读