从日期中减去字符串形式的天

时间:2018-12-12 23:41:47

标签: scala date datetime jodatime datetime-format

我有一个像下面这样的字符串形式的日期

“ 2017年8月8日11:43”

我试图从上述日期字符串中减去一天,因此最终输出将为“ 2017年7月8日11:43”

我尝试了以下代码

   val x = "18/8/2017 11:43"
   val formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm");
   val dt = formatter.parseDateTime(x);
   println(dt.minusDays(1))

但是,我得到的输出是 2017-08-17T11:43:00.000-07:00

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您需要格式化程序来解析和格式化输出。

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

val x = "18/8/2017 11:43"
val formatter = DateTimeFormatter.ofPattern("d/M/yyyy HH:mm")

val dt = LocalDateTime.parse(x, formatter)
val res = dt.minusDays(1).format(formatter)  //res: String = 17/8/2017 11:43