2

Java の時間があります1380822000000。そして、私が読めるものに変換したい:

import java.util.Date

object Ws1 {
  val a = new Date("1380822000000").toString()
}

例外を引き起こします

warning: there were 1 deprecation warning(s); re-run with -deprecation for detai
  ls
  java.lang.IllegalArgumentException
    at java.util.Date.parse(Date.java:615)
    at java.util.Date.<init>(Date.java:272)
    at .<init>(<console>:9)
    at .<clinit>(<console>)
    at .<init>(<console>:7)
    at .<clinit>(<console>)
    at $print(<console>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57
  )
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
  .java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)
    at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:983)
    at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:573)
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:604)
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:568)
    at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:745)
    at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:790)
    at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:702)
    at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:566)
    at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:573)
    at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:576)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scal
  a:867)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:822)
    at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.
  scala:135)
    at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
    at org.jetbrains.plugins.scala.worksheet.WorksheetRunner.main(WorksheetRunner.j
  ava:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57
  )
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
  .java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

それを通常の人間の表現に変換するにはどうすればよいですか?

4

4 に答える 4

6

目的の結果を得るには、その数値を長整数として渡す必要があります。文字列を渡すことはできますが、解析可能である必要があります。

val a = new Date(1380822000000L).toString();

詳細については、リファレンスを参照してください。

于 2013-10-03T15:25:01.387 に答える
5

または、より良いことをして使用しorg.jodatimeます。

import org.joda.time.DateTime;

val timestamp = new DateTime(1380822000000L);

ここでわかるように、EPOCH が既に実装されてから 1 ミリ秒です。

于 2013-10-03T15:30:32.267 に答える
4

1 つの警告が表示されます:

警告: 非推奨の警告が 1 件ありました。

new Date(String)廃止されたため。

第 2 に、を に変換するのnew Date("1380822000000") は有効ではありません。Stringdatemilli secondslong

あなたはこれをしなければなりません

 vav a= new Date(1380822000000L).toString();
于 2013-10-03T15:23:41.380 に答える