pattern
与えられたdate
オブジェクトのを取得する方法
メソッドのパラメーターとして1つのオブジェクトを取得Date
していますが、日付のパターンを知りたいので、ユーザーが選択したタイムゾーンに変換します。
pattern
与えられたdate
オブジェクトのを取得する方法
メソッドのパラメーターとして1つのオブジェクトを取得Date
していますが、日付のパターンを知りたいので、ユーザーが選択したタイムゾーンに変換します。
あなたはDate
意味を誤解しました。Unixエポックからほんの数ミリ秒です。タイムゾーン、カレンダー、テキスト形式の概念はありません。それが役立つ場合は、それを少し似ていると考えてください-anは16進数、10進数、または2進数ではありません-それは特定の範囲内の単なる数値ですint
。int
「1a」を16進数として解析すると、「26」を10進数として解析しても見分けがつかない結果になります。同じことが。にも当てはまりDate
ます。
もちろん、これはコメントである程度説明されていますが、あなたの返信は次のとおりです。
わかりました、しかし私はすでにフォーマットを設定している日付オブジェクトを取得している間、私はそのフォーマットを知りたいです。
...あなたがそれを本当に理解していなかったことを示唆しています。「すでにフォーマットを設定している」という概念は、のコンテキストでは意味がありませんDate
。
特定の形式を適用する必要がある場合は、に加えてを渡す必要がありDateFormat
ますDate
。
ただし、(正確な要件に応じて)日付オブジェクト自体からは使用できません。
DateFormat.getDateTimeInstance()
これにより、ロケールのデフォルトのスタイルと形式が返されますが、前述のように、要件によって異なります...
別の方法は、フォーマットを受け入れるようにメソッドシグネチャを変更することです。
を作成する必要がありますDateFormat
。Date
TimeZoneについては何も知りません。
Date date = new Date();
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
// Set TimeZone
formatter.setTimeZone(TimeZone.getTimeZone("EST"));
System.out.println(formatter.format(date));
// Change timezone
formatter.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println(formatter.format(date));