如何以时间戳/日期时间格式获取Scala中的当前时间,以便可以将其存储在PG表中

问题描述 投票:-1回答:1

我在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)
  }

我想将此函数的返回值存储为timestamp类型的PG列中的时间戳。

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

任何帮助将不胜感激,因为我已经在网上看了一段时间并尝试了一些东西,似乎没有任何工作。

谢谢

java scala datetime timestamp jodatime
1个回答
4
投票

要使用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
© www.soinside.com 2019 - 2024. All rights reserved.