[解決済み】Javaで時間のないDateを取得する方法は?
質問
Stack Overflowの質問から続く タイムスタンプなしで現在の日付を取得するJavaプログラム :
Dateオブジェクトを時間なしで取得する最も効率的な方法は何ですか?この2つの方法以外に方法はないのでしょうか?
// Method 1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateWithoutTime = sdf.parse(sdf.format(new Date()));
// Method 2
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
dateWithoutTime = cal.getTime();
更新情報 :
-
について知っていました。 ジョダイム このような単純な(と思う)タスクのために追加のライブラリを避けようとしているだけです。しかし、これまでの回答から、Joda-Timeは非常に人気があるようですので、私はそれを考慮するかもしれません。
-
で 効率的 つまり、一時的なオブジェクトは避けたいのです。
String
で使用されるようなmethod 1
一方method 2
は、解決策ではなく、ハックのような気がします。
解決方法は?
あなたは、絶対に
ある
を使用します。
java.util.Date
? 私なら
徹底的に
を使用することをお勧めします。
Jodaタイム
または
java.time
パッケージの代わりに、Java 8から導入されました。特に、日付とカレンダーは
常に
は特定の瞬間を表し、「単なる日付」という概念はありませんが、Joda 時間
する
はこれを表す型を持っています (
LocalDate
). 実際にやろうとしていることを表す型を使うことができれば、コードはより明確になります。
Joda Timeを使う理由は他にもたくさんあります。
java.time
の代わりに、組み込みの
java.util
一般に、これらの型の方がはるかに優れたAPIです。これらの型は一般にはるかに優れた API です。
java.util.Date
データベースとのやりとりのためなど、必要であれば自分のコードの境界線上で
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaScriptの日付の書式設定方法
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] Androidで現在の時刻と日付を取得する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] Java- <T extends Comparable<T>>の意味?
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み】AndroidプロジェクトでThreeTenABPを使用する方法
-
[解決済み】Dateオブジェクトをcalendarオブジェクトに変換する【重複