如何以 timestamp/datetime 格式获取 Scala 中的当前时间,以便它可以存储在 PG table 中

How to get current time in Scala in timestamp/datetime format so that it can be stored in PG table

我在 Scala 中编写了以下有效的函数:

import java.text.SimpleDateFormat
import java.util.{Calendar, Date}
import java.util.{TimeZone, Date}


val curr_timeFmt = "YYYY_MM_dd_HH_mm_ss"

def curr_time(): String = {
    val date = new Date
    val currTS = new SimpleDateFormat(curr_timeFmt)
    currTS.setTimeZone(TimeZone.getTimeZone("EST"));
    currTS.format(date)
  }

我想将此函数的 return 值作为时间戳存储在时间戳类型的 PG 列中。

此外,在网上研究时,我听说 Java Calendar 和 Date 类 不是线程安全的和可变的。这是真的吗?如果是这样,我如何在 Java 8 中使用新的 joda 时间?

任何帮助将不胜感激,因为我在网上搜索了一段时间并尝试了一些方法,但似乎没有任何效果。

感谢

要以那种格式获取美国东部时区的当前时间,请使用 Java 8 Time API:

val fmt = DateTimeFormatter.ofPattern("uuuu_MM_dd_HH_mm_ss")
val time = LocalDateTime.now(ZoneId.of("America/New_York")).format(fmt)

time 的打印值显示例如

2019_03_18_21_32_22