5

ばかげた質問かもしれませんが、Java の日付関数がわかりません。ここにいくつかのコードがあります:

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
Date s = sdf.parse(var);
Calendar scal = java.util.GregorianCalendar.getInstance();
scal.setTime(s);   
Log.w("Time: ", Long.toString(s.getTime()));

var = "10:00" の場合、"64800000" になります。

var = "11:00" の場合、"68400000" になります。

var = "12:00" の場合、"28800000" になります。

var = "13:00" の場合、"75600000" になります。

var = "14:00" の場合、"79200000" になります。

var = "00:00" の場合、"28800000" になります。

12時って何?var=12:00 の場合、00:00 の場合と同じ結果が得られるのはなぜですか? 他のすべての結果は正しいようです。私は明らかにJavaの日付関数を理解していませんが、これについての説明がどこにも見つからないようです。これは私のタイムスパン計算機を台無しにしています。

4

2 に答える 2

12

24 時間制を使用する場合は、大文字の HH 形式を使用する必要があります。

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 
于 2011-01-11T16:31:11.693 に答える
0

「h」の代わりに「H」を使用する必要がありました。「h」は午前/午後の形式です。

于 2011-01-11T16:36:35.380 に答える