問題タブ [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.

0 投票する
2 に答える
61 参照

java - Javaで整数を日付に変換

私は整数 a = 30 を持っています。

毎月Date 30を変換する方法.

整数 a = 25; 2021/01/25 2021/02/25 2021/03/25

また

整数 a = 10; 2021 年 10 月 1 日 2021 年 10 月 2 日 2021 年 10 月 3 日

0 投票する
1 に答える
230 参照

java - 可能な限り動的に (多くの異なる形式で) .csv ファイルから日付または DateTime 文字列を解析していますか?

可能な限り動的/柔軟に.csvファイルから文字列データを解析できるようにするための助けが必要dd-MMM-yyyyですyyyy-MM-dd.日付、または日時の、例外をスローしたりクラッシュしたりすることなく解析できるはずです。dd-MMM-yyyy.csvファイルの日付/日時フィールドの現在の形式は、30-Apr-2020. もちろん、時間を追加することができ、オプションです (パターンで見られるように、[ ] ブラケット表記を使用しているため、それは になります30-Apr-2020 23:59:59)。私はすでに日付/日時列の解析を次のように設定しています:

したがって、基本的にパターンを柔軟に設定することによって、つまり"dd-MMM-yyyy[[ ]['T']HH:mm:ss]"、TemporalAccessor を使用してそれが日付か日時かを確認し、必要に応じてさらに処理を行います。さまざまな種類の入力を処理でき、アプリがここで例外をスローして失敗することはありません。だから私は消費することができます:

ただし、ユーザー .csv に2020-05-30日付のようなものが含まれている場合、これはISO形式の標準であると思われますが、失敗します。また、私が今気付いた悪い点は.parseBest()、月の大文字と小文字が区別されるためにメソッドも失敗することです。つまり、このようなものは01-MAY-1999 失敗しますが、01-May-1999合格します。

解析に失敗することなく、さまざまな種類のフォーマットを処理するにはどうすればよいですか? 私が言ったように、私は実際に .csv ファイル (つまりデータ エンジニア) を生成しないので、このアプリを可能な限り堅牢/柔軟にし、このデータを解析/正しくフォーマットして、データを消費できるようにしたいと考えています。それに応じてデータベースに書き込まれます。ここでの私のアプローチはまともだと思ったので、大規模な書き直しが必要ないことを望んでいました.

0 投票する
1 に答える
184 参照

java - Java OffsetDateTime.parse() は時間に余分なゼロを追加します

次のコードは、2021-06-30T23:59:59.009966667Z のような OffsetDateTime を返し、2 つの余分なゼロが追加されます。フォーマッタに 7 つの n がありますが、それでも 9 桁が返されます。なんで?

0 投票する
2 に答える
1089 参照

java - スキャナー経由で LocalDate 型をパラメーターとして渡す方法は?

スキャナーを介して別のクラスのオブジェクトをインスタンス化したいのですが、渡す必要があるパラメーターの 1 つはLocalDate 型です。これが、メインクラスにメソッドを作成して、

  • 指定された順序で文字列入力をユーザーに要求します (例: dd. MMM. yyyy)
  • 次に、私のプログラムはその入力を受け取り、それを文字列として保存して、後でユーザーに表示します

しかし、私はエラーで立ち往生しています。以下は私の誕生日クラスとメインクラスの関連部分です。

Birthday.java :

Main.java :

インスタンス化で発生し続けるエラーは、「互換性のない型: java.lang.String を java.time.LocalDate に変換できません」です。addDate() メソッドを無効にすると、メソッドを使用できないという別のエラーが発生します。

コメントアウトされた return ステートメントは、私が可能だと思ったものSystem.out.println(ld.format(dtf));です。しかし、私の側では非常に間違った思考プロセスのように思われるので、最終的には、年/月/日を個別に要求する addDate() メソッドでの私のアプローチが間違っているのでしょうか?