2

ミリ秒単位のタイムスタンプがあり1349557200000ます。現在のタイムゾーンの深夜に発生することを確認するにはどうすればよいですか?

私が思いついた最高のものは次のようなものです:

Calendar mycal = Calendar.getInstance();
Integer offset = (mycal.get(Calendar.ZONE_OFFSET) + mycal.get(Calendar.DST_OFFSET)) * (60 * 1000);
Boolean isAtMidnight = 1349557200000L % (24L * 60L * 60L * 1000L)) == (long) offset ? true : false;

これは少し複雑に見えます。私が見逃しているかもしれないショートカットメソッドがあるかどうか疑問に思いました。ありがとう。

4

1 に答える 1

10
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(milliseconds);
return cal.get(Calendar.HOUR_OF_DAY) == 0
       && cal.get(Calendar.MINUTE) == 0
       && cal.get(Calendar.SECOND) == 0
       && cal.get(Calendar.MILLISECOND) == 0;
于 2012-10-02T11:03:25.580 に答える