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. 与えられた週の最初の日付(NSDate)
- 3. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 4. 与えられた日付にfacebook投稿を投稿する
- 5. 与えられた日付の形式から秒に変換する
- 6. 与えられた日時文字列の曜日の名前
- 7. util.dateからsql.dateに間違った日付を与える
- 8. groovy与えられた日付から翌月に取得する方法
- 9. 与えられた日付から連続した平日の数字をNとします
- 10. Objective-C - 与えられた時刻と日付で関数を実行する
- 11. 与えられた日付の間に受動的な加入者を数えるためのSQL
- 12. 与えられた曜日の次のLocalDateTimeを取得する
- 13. 与えられたユーザー
- 14. 与えられた順序
- 15. LinqToXML:与えられた値
- 16. は、与えられたワンショット
- 17. 与えられたクラスの要素にイベントリスナーを添付する
- 18. 与えられた範囲内のHeapsort
- 19. 与えられた名前のフォーマット
- 20. は、与えられた別の
- 21. は、与えられたGridViewの
- 22. 与えられたタスクのJPAクエリー
- 23. 日付/タイムスタンプが与えられた特定の行のすべての値を見つける
- 24. 与えられた2つの日付間でクエリを返すSQL Serverの構文
- 25. 四半期の日付が与えられた四半期の終わりを見つける方法
- 26. 与えられた2つの日付の間にアクティブなサブスクライバをカウントする方法
- 27. モーメントjsの日付ライブラリ、IEのフォーマットはNaNを与えます
- 28. Ruby - 与えられた日付(=キー)に基づいてハッシュの値を合計する方法は?
- 29. 月の名前にローマ数字を与える日付形式
- 30. 与えられた月の最初の就業日をSQLで計算する
注意:['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)クラスを使用します。 –