我输出的库函数将来会返回一个随机java.time.LocalDateTime
,需要转换为VARBINARY(MAX)
。
在不降低Scala准确性的情况下,最有效的方法是什么?
答案 0 :(得分:1)
查看两者的javadoc,然后找到一种从java.time.LocalDateTime
的getter方法创建org.joda.time.LocalDateTime
的方法。
首先,要意识到org.joda.time.LocalDateTime
不支持纳秒精度:
在内部,LocalDateTime使用一个毫秒级的值来表示本地日期时间。此值仅在内部使用,不会向应用程序公开。
因此,要创建java.time.LocalDateTime
,请使用LocalDateTime.of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
。
要从org.joda.time.LocalDateTime
获取值,请使用:
getYear()
getMonthOfYear()
getDayOfMonth()
getHourOfDay()
getMinuteOfHour()
getSecondOfMinute()
getMillisOfSecond()
这很简单:阅读文档。
答案 1 :(得分:1)
import java.time.ZoneId
val jodaLocalDateTime = org.joda.time.LocalDateTime.now()
val javaLocalDateTime = java.time.LocalDateTime.ofInstant(jodaLocalDateTime.toDate.toInstant, ZoneId.systemDefault())