日付抽出時、2030年以降の年月日が1900年代に変換される

フォローする

概要

フォーマットがmm/dd/yyの日付を抽出した際、本来意図しない過去の日付に変換される事があります。

具体例

具体的には、2030年以降の年度を示す30以降の数字をyyで扱おうとすると、
1900年代(1930~1999)として判定されてしまいます。
2029年を示す29以前の数字は、2000年代(2000~2029)として判定されます。

<参考>


これは多くのユーザーや企業が19xx年にさかのぼってデータを持っている可能性があるために仕様として実装されたもので、
アルゴリズムが自動的に全ての年度を20xx年として解釈してしまった場合、
変更すべきではない過去の記録が未来の日付に変更されてしまう可能性が懸念されたためです。

この問題を解決するために、Microsoft社のExcelは2桁の年号が30未満の場合は20xxに、
30から99までの2桁の年号が19xxと解釈する仕様となっています。
参考外部URL:https://docs.microsoft.com/ja-jp/office/troubleshoot/excel/two-digit-year-numbers

2029ルール

既定では、Excel は2029の締年を使用して世紀を決定します。この場合、次のような動作になります。

・1900年1月1日 (1/1/1900) から9999年12月31日 (12/31/9999) までの範囲内の日付は有効です。
・2桁の年が使用されている日付を入力すると、Excel は次の世紀を使用します。
2桁の数字 |入力した年| 使用される世紀| |----------|----------------| |00-29| 21 (2000 年)| |30-99 |20 (年 1900)|

現行のBizRobo!では他の多くの企業と同様に、このようなロジックについてMicrosoft社のリードに従っているため、上記のような仕様となっております。

区分 確認Ver
仕様

10.3.0.8

 

1人中1人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。