問題タブ [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 投票する
16 に答える
167917 参照

c# - C#で年を4桁から2桁に変換して元に戻す

私のクレジット カード プロセッサでは、クレジット カードの有効期限から 2 桁の年を送信する必要があります。これが私が現在処理している方法です:

  1. DropDownListページに 4 桁の年のa を付けました。
  2. フィールドの有効期限を検証DateTimeして、CC プロセッサに渡される有効期限が切れていないことを確認します。
  3. CC プロセッサに 2 桁の年を送信します (必要に応じて)。これは、年の DDL の値の部分文字列を介して行います。

4 桁の年を 2 桁の年に変換する方法はありますか。DateTime物体には何も見えません。それとも、そのまま処理し続けるべきですか?

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

datetime - Win32:DateTimePicker が 2 桁の年を受け入れないようにするにはどうすればよいですか?

Microsoft のDateTimePicker共通コントロールは、構成された Locale 設定に従ってShortDateを表示します。顧客のコンピューターは 2 桁の年 ShortDateFormat ( d/M/yy) で構成されているため、DateTimePicker には 2 桁の年が表示されます。

代替テキスト

ユーザーが日時ピッカーの年ブロックにフォーカスを置くと、Microsoft は問題を指摘し、完全な 4 桁の年を表示します。

代替テキスト

しかし、年として入力したいユーザーは1929、2 桁の年を入力します。

代替テキスト

そして、タブ アウトすると、Windows が 2 桁の年を と の間にある1930と解釈し2029、2029 年と見なされて混乱します。

代替テキスト

顧客は、Windows の地域設定を 2 桁の年に構成することを規定するグローバルな企業ポリシーを導入しています。

したがって、回避策として、便利なマクロDateTimePickerを使用して、すべてのコントロールにカスタムの日付形式を使用させる必要があります。DateTime_SetFormat

これにより、DateTimePickerは常に 4 桁の年を表示するようになりました。

代替テキスト

問題は、ユーザーがまだ「無効な」2 桁の年を入力できることです。

代替テキスト

ルールによれば、2029年としてまだ解釈されているWindowsは次のとおりです。

代替テキスト

2 桁の年を拒否する日時ピッカーが必要です。

これが機能しない場合は、すべての DateTimePicker を 3 つの編集ボックスに置き換える必要があります。

22 6 29

無効な数字を赤く色付けし、ユーザーによる無効なデータ入力を指摘できる場所。

DateTimePicker が y2k バグを受け入れないようにするにはどうすればよいですか?

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

python - strptime() を使用した 2 桁の年は、誕生日をうまく解析できません。

次の誕生日を考えてみましょう (としてdob):

  • 1968 年 6 月 1 日
  • 1969 年 6 月 1 日

Python で解析すると、次のdatetime.strptime(dob, '%d-%b-%y')ようになります。

  • datetime.datetime(2068, 6, 1, 0, 0)
  • datetime.datetime(1969, 6, 1, 0, 0)

もちろん、彼らは同じ 10 年に生まれたはずですが、今では同じ世紀でもありません。

ドキュメントによると、これは完全に有効な動作です。

2 桁の年が受け入れられる場合、それらは POSIX または X/Open 標準に従って変換されます。値 69 から 99 は 1969 から 1999 にマップされ、値 0 から 68 は 2000 から 2068 にマップされます。

関数がこのように設定されている理由は理解していますが、これを回避する方法はありますか? おそらく、2 桁の年の独自の範囲を定義することでしょうか?

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

php - 2桁の開始年に​​基づいて現在の学年を計算する方法は?

私は学校の Web プロジェクトに取り組んでおり、特定の生徒が固有の登録番号から何年生かを知る必要があります。

登録番号は次のようUXXEEXXXXになります。最初の 2XXはユーザーが入学した年の下 2 桁をEEX表し、学科を表し、最後の 3XXXは学生のシリアル番号を表します。登録済み。

たとえば、 のU08EE1117U学部を表し08、2008 年に入学したユーザーは学部を表し、 は 1 年目からのユーザーをEE1表し、そのユーザーがその学部に登録された 117 番目の学生であることを意味します。1117

PHP を使用して、ユーザーの現在のレベルを取得したいと考えています。これは、最初の年はレベル 100、2 番目はレベル 200、最終学年はレベル 500 として表されます。

私がしたことはこれでした:

$_SESSION["username"]登録番号はどこですか。

しかし、これは何年もの間うまくいかないことに気付きました。これを回避する最も簡単な方法を知りたいです。(登録番号は100年以内のみ有効です。)

0 投票する
6 に答える
56297 参照

python - 2桁の年で文字列の日付を解析する方法は?

59 から 05 (1959 から 2005) の範囲の形式yymmddで6 桁の日付を表す文字列を解析する必要があります。yyモジュールのドキュメントによるとtime、Python のデフォルトのピボット年は 1969 年ですが、これはうまくいきません。

ピボットの年を上書きする簡単な方法はありますか、または他の解決策を提案できますか? Python 2.7 を使用しています。ありがとう!

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

java - 二文字年、許されますか?

最近、Apache POI のライブラリをアップグレードした後、他の API もいくつかアップグレードしました。私が使用した他のライブラリは、すべてのセルの内容を文字列として読み取り、この文字列を解析して日付に変換する必要がありました。

この問題は、ユーザーが日付を dd-mm-yy として入力し始めたときに発生し、年は 00yy AD として表示されました。

のドキュメントによるとSimpleDateFormat

解析では、パターン文字の数が 2 を超える場合、年は桁数に関係なく文字どおりに解釈されます。したがって、パターン「MM/dd/yyyy」を使用すると、「01/11/12」は西暦 12 年 1 月 11 日と解析されます。

では、問題は、2 年よりも 4 年を入力する方がよいかということです。

もう 1 つの質問は、年が 2 文字形式の場合、年を予測する最善の方法は何かということです。年下の解析中に問題が発生するため

よろしく、 ハヌマント

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

mysql - 連続した年の平日を検索する SQL クエリ

MySQLクエリに少し苦労しています。過去5年間の土曜日のリストを取得する必要があり、混乱しているので助けてください!!