問題タブ [datetimeformatter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - パターンに関する DateTimeFormatter の問題
私は、(これまでのところ)次のようなリクエストを通じて「Markit on Demand」からデータを取得する株式プログラムを作成しています。
http://dev.markitondemand.com/Api/v2/Quote/xml?symbol=aapl
これは、株式のさまざまな測定値 (シンボル、名前、最終価格、変更、タイムスタンプなど) を含むデータを xml で返します。
タイムスタンプを作成するために Java 8 で DateTimeFormatter を作成するのに問題があります。
タイムスタンプの一例:
Fri Jul 18 15:59:00 UTC-04:00 2014
これまでのところ、私が持っているパターンは次のとおりです。
EEE MMM d HH:mm:ss OOOO yyyy
お気づきの方もいらっしゃると思いますが、オフセットに問題があります。
ドキュメントから:
Offset X and x: パターン文字の数に基づいてオフセットをフォーマットします。1 文字は、'+01' のように時間だけを出力します。ただし、分がゼロ以外の場合は、'+0130' のように分も出力されます。'+0130' のように、2 文字で時と分をコロンなしで出力します。'+01:30' のように、コロンを使用して 3 文字で時と分を出力します。4 文字は、'+013015' のように、時と分、およびオプションの秒をコロンなしで出力します。5 文字は、'+01:30:15' のように、時と分、およびオプションの秒をコロンで出力します。6 文字以上は IllegalArgumentException をスローします。パターン文字 'X' (大文字) は、出力されるオフセットがゼロの場合に 'Z' を出力しますが、パターン文字 'x' (小文字) は '+00' を出力します。
Offset O: パターン文字の数に基づいてローカライズされたオフセットをフォーマットします。1 文字で、ローカライズされたオフセットの短い形式が出力されます。これは、'GMT' などのローカライズされたオフセット テキストで、時間は先頭にゼロがなく、ゼロ以外の場合はオプションで 2 桁の分と秒、およびコロン ('GMT+8' など) が含まれます。 '。4 文字は完全な形式を出力します。これは、「GMT」などのローカライズされたオフセット テキストで、2 桁の時と分フィールド、ゼロ以外の場合はオプションの 2 番目のフィールド、コロン (「GMT+08:00」など) が含まれます。それ以外の文字数は、IllegalArgumentException をスローします。
Offset Z: パターン文字の数に基づいてオフセットをフォーマットします。'+0130' のように、1 文字、2 文字、または 3 文字で時と分がコロンなしで出力されます。オフセットがゼロの場合、出力は「+0000」になります。4 文字は、Offset-O の 4 文字に相当する、ローカライズされたオフセットの完全な形式を出力します。オフセットがゼロの場合、出力は対応するローカライズされたオフセット テキストになります。5 文字は時、分を出力し、0 以外の場合はオプションで秒をコロン付きで出力します。オフセットがゼロの場合は「Z」を出力します。6 文字以上は IllegalArgumentException をスローします。
これは機能しますが、なぜ ('UTC'XXX の代わりに)OOOO
機能しないのか興味があります。
java - DateTimeFormatter ofPattern を使用した日付の解析
を使用して日付と時刻を含む文字列を解析しようとしていますjava.time.format.DateTimeFormatter
(私の最終的な目標は、この文字列から日付を取得することですjava.time.LocalDate
)。
日付を解析しようとすると、DateTimeParseExceptions が発生し続けます。誰か助けてくれませんか?
日付の形式は「2015-07-14T11:42:12.000+01:00」です。
私は ofPattern でさまざまなバリエーションを試しました。たとえば、T を一重引用符で囲んでエスケープしようとしたり (上記のように)、. 両方を同時にエスケープしようとしました。
コロンもエスケープする必要がありますか?
これについての助けに感謝します。
java - Java 8 DateTimeFormatter は、ゼロのときにミリ秒を削除しますか?
これは奇妙に思えます。Java 8 は、ミリ秒がゼロであるかどうかに応じて、出力のフォーマットが異なります。Java 8 (1.8.0_20) がゼロであるかどうかに関係なく、常にミリ秒を吐き出すように強制するにはどうすればよいですか?
java - 適切な DateTimeFormatter パターンの作成方法
この時間の表現に適合するパターンで DateTimeFormatter オブジェクトを作成しようとしています: 2016-07-22T00:00:00.000-05:00。上記の入力文字列で DateTimeFormatter クラスを使用して DateTime オブジェクトを作成しようとしています。
以下の式のさまざまなバージョンを試しましたが、現在、junit テストケースでエラーが発生しているタイムゾーンピース「-05:00」でスタックしています。
私が使用している現在のフォーマットパターンは次のとおりです。
私も試しました:
私はJava 7で実行しているので、それが問題を引き起こしているかどうかはわかりません.
java - Java 8 DateTimeFormatter
SimpleDataFormat を Java 8 DateTimeFormatter に置き換える必要があります。以下は、SimpleDateFormat を使用したコードです。
ここで、DateTimeFormatter に変更する必要があります。私は以下のように試しました
現在、これは例外を生成しています。
java - DateTimeFormatter を使用して java.util.date を String に変換
java.util.Date
aをString
usingに変換するにはどうすればよいですか
取得した Date オブジェクトが渡されます
java - LocalDateTime を使用して日付を解析できませんか?
DateTimeFormatter を使用して日付文字列を解析しようとしています。以下の例外が発生します。
間違った日付形式 10.10.2020 12:00:00 java.time.format.DateTimeParseException: テキスト '10.10.2020 12:00:00' をインデックス 2 で解析できませんでした
何か助けていただければ幸いです。