文字列「2013-01-2811:01:56.9」のタイムスタンプがあります。ここでは56.9秒が言及されています。
.9秒=900ミリ秒
9デシ秒または90センチ秒と言えます
しかし、Javaでは...
String string = "2013-01-28 11:01:56.9";
String pattern = "yyyy-MM-dd hh:mm:ss.S";
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
Date date = formatter.parse(string);
System.out.println(date.getTime());
出力は:1359388916009
ここでは、「S」(Capital-S)がミリ秒単位で使用されているため、9は009ミリ秒として解析されます。
同様に、.95秒が「SS」パターンとして提供され、解析される場合、「950」ミリ秒ではなく「095」ミリ秒になります。
- なぜjavaは、物事を簡単にするためにデシ秒とセンチ秒を解析/フォーマットするパターンを提供しないのですか?
- そうするためのまともな方法は何ですか?