java.util.Dateはほとんど廃止予定ですので、指定された日付(UTC時刻)のタイムスタンプを取得する正しい方法は何ですか? System.currentTimeMillis()
と比較できるもの。与えられた日付のSystem.currentTimeMillis()?
答えて
Calendarクラスを使用すると、特定のタイムゾーンの特定の時刻にタイムスタンプを作成できます。
Calendar cal = new GregorianCalendar();
cal.set(Calendar.DAY_OF_MONTH, 10);
// etc...
if (System.currentTimeMillis() < cal.getTimeInMillis()) {
// do your stuff
}
編集:あなたはそれを持っていたら、その後、ミリ秒単位のタイムスタンプは、と比較して取得することができますカレンダーインスタンスからのミリ秒単位で時間を得るために、より直接的な方法を使用するように変更します。ありがとうございますOutlawプログラマー
カレンダーには実際にgetTime()。getTime()よりも少し直接的なgetTimeInMillis()メソッドがあります。とにかく+1。 –
Calendarクラスをご覧ください。
現在の時刻(推奨されていません)でデータを作成し、それからカレンダーを作成できます(他の方法もあります)。
日付が使用された多くのものの "公式の"置き換えはカレンダーです。残念なことに、それはむしろ不器用で過度に設計されています。あなたの問題は次のように解決することができます:
long currentMillis = System.currentTimeMillis();
Date date = new Date(currentMillis);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
long calendarMillis = calendar.getTimeInMillis();
assert currentMillis == calendarMillis;
カレンダーは、時間(時、分、秒、など)においても一つのフィールド、異なる方法で初期化することができます。 Javadocを見てください。
自分で試してみませんでしたが、プロジェクトで外部のライブラリが許可されている場合は、JODA-Timeプロジェクト(オープンソース)を見てください。 AFAIK、JODAの時間は、日付/時刻に新しいJSR(通常はJava7)に大きく貢献しました。
多くの人がジョダ時間はすべてjava.util.Date/Calendarの問題;-)
間違いなく試してみる価値を解決すると主張します。
JODA-Time - 現在のjava.util.DateとCalendarは、多くの点でかなり壊れています(JODAページでJODAプロジェクトが最初に作成された理由についての動機付けの話があります)。 –
- 1. 与えられた日付形式
- 2. 2つの与えられた日付の間の日数
- 3. 与えられた日付のC++の曜日
- 4. 与えられた日付の曜日を見つける
- 5. 与えられた日付のベクトル内の最も近い日付
- 6. jsonから与えられた日付をフォーマットする
- 7. 与えられた週の最初の日付(NSDate)
- 8. 与えられた日付の正確な分数の取得
- 9. 与えられた日付の445ヵ月の派生
- 10. 日付が与えられた二つの値の
- 11. チェック与えられた日付から任意の日付は、複数の日付
- 12. AndroidのクエリCallLog日付が与えられました
- 13. 与えられた日付の合計を得るMS SQL
- 14. 与えられた日付と異なる日付を計算するXPath(XSLT)
- 15. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 16. 与えられた日付にfacebook投稿を投稿する
- 17. 与えられた数字で日付をつける
- 18. 与えられた2つの日付間の日付シーケンスの作成 - 2月2日に失敗する
- 19. 与えられた日付の形式から秒に変換する
- 20. 与えられた日付からpouchdbの変更を聞きます
- 21. 与えられた日付の間違った週番号を取得する
- 22. 与えられた日時文字列の曜日の名前
- 23. groovy与えられた日付から翌月に取得する方法
- 24. datepicker javaから与えられた日付を保存します。
- 25. util.dateからsql.dateに間違った日付を与える
- 26. 与えられた日付から連続した平日の数字をNとします
- 27. 与えられた2つの日付に基づいて日付を分割する方法
- 28. 与えられた2つの日付を含む日数を数えてください
- 29. Objective-C - 与えられた時刻と日付で関数を実行する
- 30. 与えられた日付に最も近いファイルを取得する
注意:['java.util.Date'](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html)のような面倒な古い日時クラスは、 )、['java.util.Calendar'](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html)、' java.text.SimpleTextFormat'は現在[ (https://en.wikipedia.org/wiki/Legacy_system)、[java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package)に取って代わりました。 -summary.html)クラスを使用します。 –