我的问题很简单
如果我这样做:
var start = System.currentTimeMillis
我得到:
start: Long = 1542717303659
如何使字符串看起来像人眼可读?
例如:“ 20/11/2018 13:30:10”
答案 0 :(得分:3)
您可以使用java.time
库,例如:
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")
formatter.format(LocalDateTime.now)
如果只有时间戳,此解决方案会变得更加复杂:
formatter.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis()), ZoneId.of("UTC")))
然后我要使用java.text.SimpleDateFormat
:
new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(System.currentTimeMillis())
返回时间戳记:
new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse( "02/12/2012 12:23:44" ).getTime
答案 1 :(得分:1)
别想太多了:new Date(start).toString
答案 2 :(得分:1)
您可以使用java.time库,并以可读格式将其获取,如下面的一行所示。
scala> java.time.LocalDateTime.ofEpochSecond(System.currentTimeMillis/1000,0,java.time.ZoneOffset.UTC)
res31: java.time.LocalDateTime = 2018-11-21T18:37:49
scala>
我只是将毫秒数潜水了1000,所以我们得到了EpochSecond。
要找回它,
scala> java.time.LocalDateTime.parse("2018-11-21T18:41:29").toEpochSecond(java.time.ZoneOffset.UTC)
res40: Long = 1542825689
scala>