如何以 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
我在 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