問題タブ [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.
c# - C#で年を4桁から2桁に変換して元に戻す
私のクレジット カード プロセッサでは、クレジット カードの有効期限から 2 桁の年を送信する必要があります。これが私が現在処理している方法です:
DropDownList
ページに 4 桁の年のa を付けました。- フィールドの有効期限を検証
DateTime
して、CC プロセッサに渡される有効期限が切れていないことを確認します。 - CC プロセッサに 2 桁の年を送信します (必要に応じて)。これは、年の DDL の値の部分文字列を介して行います。
4 桁の年を 2 桁の年に変換する方法はありますか。DateTime
物体には何も見えません。それとも、そのまま処理し続けるべきですか?
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 バグを受け入れないようにするにはどうすればよいですか?
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 桁の年の独自の範囲を定義することでしょうか?
php - 2桁の開始年に基づいて現在の学年を計算する方法は?
私は学校の Web プロジェクトに取り組んでおり、特定の生徒が固有の登録番号から何年生かを知る必要があります。
登録番号は次のようUXXEEXXXX
になります。最初の 2XX
はユーザーが入学した年の下 2 桁をEEX
表し、学科を表し、最後の 3XXX
は学生のシリアル番号を表します。登録済み。
たとえば、 のU08EE1117
はU
学部を表し08
、2008 年に入学したユーザーは学部を表し、 は 1 年目からのユーザーをEE1
表し、そのユーザーがその学部に登録された 117 番目の学生であることを意味します。1
117
PHP を使用して、ユーザーの現在のレベルを取得したいと考えています。これは、最初の年はレベル 100、2 番目はレベル 200、最終学年はレベル 500 として表されます。
私がしたことはこれでした:
$_SESSION["username"]
登録番号はどこですか。
しかし、これは何年もの間うまくいかないことに気付きました。これを回避する最も簡単な方法を知りたいです。(登録番号は100年以内のみ有効です。)
python - 2桁の年で文字列の日付を解析する方法は?
59 から 05 (1959 から 2005) の範囲の形式yymmdd
で6 桁の日付を表す文字列を解析する必要があります。yy
モジュールのドキュメントによるとtime
、Python のデフォルトのピボット年は 1969 年ですが、これはうまくいきません。
ピボットの年を上書きする簡単な方法はありますか、または他の解決策を提案できますか? Python 2.7 を使用しています。ありがとう!
java - 二文字年、許されますか?
最近、Apache POI のライブラリをアップグレードした後、他の API もいくつかアップグレードしました。私が使用した他のライブラリは、すべてのセルの内容を文字列として読み取り、この文字列を解析して日付に変換する必要がありました。
この問題は、ユーザーが日付を dd-mm-yy として入力し始めたときに発生し、年は 00yy AD として表示されました。
のドキュメントによるとSimpleDateFormat
解析では、パターン文字の数が 2 を超える場合、年は桁数に関係なく文字どおりに解釈されます。したがって、パターン「MM/dd/yyyy」を使用すると、「01/11/12」は西暦 12 年 1 月 11 日と解析されます。
では、問題は、2 年よりも 4 年を入力する方がよいかということです。
もう 1 つの質問は、年が 2 文字形式の場合、年を予測する最善の方法は何かということです。年下の解析中に問題が発生するため
よろしく、 ハヌマント
mysql - 連続した年の平日を検索する SQL クエリ
MySQLクエリに少し苦労しています。過去5年間の土曜日のリストを取得する必要があり、混乱しているので助けてください!!