从 Scala 中的长(时间戳)获取可读日期的简单方法

Ann*_*eso 4 apache scala

我的问题很简单

如果我做:

var start = System.currentTimeMillis
Run Code Online (Sandbox Code Playgroud)

我得到:

start: Long = 1542717303659
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能让字符串看起来对人眼可读?:

例如:“2018/11/20 13:30:10”

pme*_*pme 5

您可以使用该java.time库,例如:

  val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")
  formatter.format(LocalDateTime.now)
Run Code Online (Sandbox Code Playgroud)

如果您只有时间戳,则此解决方案会变得更加复杂:

formatter.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis()), ZoneId.of("UTC")))
Run Code Online (Sandbox Code Playgroud)

然后我会java.text.SimpleDateFormat

new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(System.currentTimeMillis())
Run Code Online (Sandbox Code Playgroud)

回到时间戳:

new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse( "02/12/2012 12:23:44" ).getTime
Run Code Online (Sandbox Code Playgroud)