[解決済み】今日の午前0時と明日の午前0時のJava日付オブジェクトを作成する方法は?
2022-05-10 08:51:49
質問
私のコードでは、今日起こったすべての事柄を見つける必要があります。そこで、今日の午前0時00分(早朝0時)から午後12時00分(今夜0時)までの日付に対して比較する必要があります。
そう
Date today = new Date();
...今、私を捕まえています。 そして ...
Date beginning = new Date(0);
...は、1970年1月1日の時間をゼロにします。 しかし、今日の時間をゼロにし、明日の時間もゼロにする簡単な方法は何でしょうか?
アップデイト
私はこのようにしましたが、きっともっと簡単な方法があるのでは?
Calendar calStart = new GregorianCalendar();
calStart.setTime(new Date());
calStart.set(Calendar.HOUR_OF_DAY, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MILLISECOND, 0);
Date midnightYesterday = calStart.getTime();
Calendar calEnd = new GregorianCalendar();
calEnd.setTime(new Date());
calEnd.set(Calendar.DAY_OF_YEAR, calEnd.get(Calendar.DAY_OF_YEAR)+1);
calEnd.set(Calendar.HOUR_OF_DAY, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MILLISECOND, 0);
Date midnightTonight = calEnd.getTime();
解決方法は?
java.util.Calendar(カレンダー
// today
Calendar date = new GregorianCalendar();
// reset hour, minutes, seconds and millis
date.set(Calendar.HOUR_OF_DAY, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
// next day
date.add(Calendar.DAY_OF_MONTH, 1);
JDK 8 - java.time.LocalTimeとjava.time.LocalDateについて
LocalTime midnight = LocalTime.MIDNIGHT;
LocalDate today = LocalDate.now(ZoneId.of("Europe/Berlin"));
LocalDateTime todayMidnight = LocalDateTime.of(today, midnight);
LocalDateTime tomorrowMidnight = todayMidnight.plusDays(1);
ジョダイム
JDK < 8を使用している場合は、以下をお勧めします。 ヨーダ時間 というのも、APIが本当に素晴らしいんです。 <ストライク
<ストライクDateTime date = new DateTime().toDateMidnight().toDateTime();
DateTime tomorrow = date.plusDays(1);
<ストライク
Joda Timeのバージョン2.3以降
DateMidnight
は
非推奨
ということで、こちらをお使いください。
DateTime today = new DateTime().withTimeAtStartOfDay();
DateTime tomorrow = today.plusDays(1).withTimeAtStartOfDay();
JVMの現在のデフォルトのタイムゾーンが必要ない場合は、タイムゾーンを渡します。
DateTimeZone timeZone = DateTimeZone.forID("America/Montreal");
DateTime today = new DateTime(timeZone).withTimeAtStartOfDay(); // Pass time zone to constructor.
関連
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptの日付の書式設定方法
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] java.util.concurrent.ExecutionException 例外をどのように処理しますか?
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] 文字列の長さに応じて文字列をトリミングする
-
[解決済み] 今日の日付を知るには?
-
[解決済み] LocalDateからjava.util.Dateへの変換、およびその逆の最も単純な変換?[重複している]。