java - 带有添加天数的常规字符串到日期转换
问题描述
获取当前日期并从日期添加 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 天怎么办?
解决方案
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 的信息。
推荐阅读
- sql - 在 T-SQL 中将长字符串的查询结果拆分为多行
- character-encoding - 我怎样才能把它变成普通语言?它是什么?
- javascript - 选择 onChange 在 Chrome 上不起作用
- c# - 如何将 JSON 发送到使用模型作为来自 HTTPPOST 的 inputParam 的 WEBAPI
- arrays - 在nodejs中将数组写入CSV
- python - 需要一种 Python 方式来整合时间戳数据
- c# - 为什么像 dd-MMM-yyyy 这样的存储日期会被转换为 dd-MM-yyyy?
- javascript - 谷歌地图中的图标
- javascript - 使用 Apollo Server 的 dataSources 配置选项有什么好处吗?
- laravel - Laravel - 雄辩的查询来显示测验结果