問題タブ [2-digit-year]

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 投票する
1 に答える
3360 参照

java - 文字列をローカル日付に解析すると、目的の世紀が使用されません

私はこの DateTimeFormatter を使用しています:

文字列を解析したいのですが、次の150790エラーが発生しました。

明らかに、私は次のものを取得したいTemporalAccessor:

1990 年ではなく 2090 年になった理由がわかりますか?

ご協力いただきありがとうございます

0 投票する
0 に答える
2155 参照

java - Java 8/JSR 310/threeten.org バックポートで 2 桁の年を解析するには?

この質問は、Java 8 / JSR 310 / threeten.org バックポートでの 2 桁の年の解析に関するものです。2 桁の年は、対処する必要がある不幸な事実です。

ISOカレンダーだけが気になります。JSR 310 はデフォルトで、2 桁の年に対して 2000 年の「基準年」を想定しています。

基準年の制御は次の方法でアクセスできることがわかりました

書式パターンは、日付書式を指定するための便利なメカニズムを提供します

フォーマット パターンが適用された後、2 桁の年に「基準年」を適用するメカニズムがわかりません。

Joda-time にはDateTimeFormatter.withPivotYear(int pivotYear)、この問題に対処するメカニズムがありました。

  • JSR 310 で、パターンを指定した後に 2 桁の年の基数を適用するメカニズムはありますか?

  • 基準年が 2000 年でない可能性がある 2 桁の年を解析するためのベスト プラクティスの推奨事項は何ですか?

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

java - Java 8 DateTimeFormatterで2文字年を解析するための基準日を変更するには?

Java 8 DateTimeFormatter を作成するようなパターンを使用する場合d/M/yy(たとえば、DateTimeFormatter.ofPattern(pattern);(これは書式設定ではなく解析にのみ使用します) を使用すると、2 文字の年はすべて 20xx として13/5/99解釈されます2099-05-13。私の場合は間違っています (1999 年になるはずでした)。

私のアプリケーションでは、OCR されたドキュメントから日付を解析しようとしていますが、これはたとえば 90 年代のものである可能性があるため、古い SimpleDateFormat の動作を使用して、日付を現在の日付より 80 年前から 20 年以内に解釈します。私はかなりよく。しかし、さまざまな理由から、日付解析ロジック全体を新しい Java 8 DateTimeFormatters に切り替えようとしています。

Java ソース コードを調べると、これはすべて定数に対して相対的に解釈されることReducedPrinterParser.BASE_DATEがわかりますが、パターンから独自のフォーマッタを構築するときに使用される値を変更する方法がわかりません。これは単に不可能ですか、それとも 2 文字の年を解析するための動作を指定する可能性を逃したのでしょうか?

0 投票する
3 に答える
742 参照

r - データ内の r の日付を処理するための gsub

日付が次の形式になっている大学生の非常に大きなデータセットを扱っています

私は年齢を計算する必要があります。

データベースから取得したデータは次のようになります。

問題は、年齢を計算するために年全体が指定されていないことです。

年を数値に変更しようとしました:

20 と 19 を追加する必要があるため、明らかにこれは機能しません。

gsub を使用して、dob が 15 以下のすべての前に「20」を配置し、15 を超えるすべての dob の前に「19」を配置する方法はありますか?

私のデータセットには 85 歳の人はいないと思います。

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

r - 4 桁の年を 2 桁の年に変換する

「7/15/03」、「12/6/09」のようなものになるように、4桁の年を2桁の年に変換するにはどうすればよいですか。