2015にない変わるのはなぜ.NET、私は推測する、それが近接をしようとしますが、そこには合理的である以下から我々がない1915DateTime.ParseExact - なぜyyは1915
var d = DateTime.ParseExact("20/11/15", "dd/MM/yy", new CultureInfo("en-GB"));
、2015として年を意味することを前提としていませんそれの後ろにデザインの決定?
2015にない変わるのはなぜ.NET、私は推測する、それが近接をしようとしますが、そこには合理的である以下から我々がない1915DateTime.ParseExact - なぜyyは1915
var d = DateTime.ParseExact("20/11/15", "dd/MM/yy", new CultureInfo("en-GB"));
、2015として年を意味することを前提としていませんそれの後ろにデザインの決定?
Calendar.TwoDigitYearMax
プロパティを使用します。
このプロパティを使用すると、2桁の年を4桁の年に正しく変換できます。たとえば、このプロパティが2029に設定されている場合、100年の範囲は1930〜2029です。したがって、2桁の値30は1930と解釈され、29の2桁の値は2029として解釈されます。
エンGBこのプロパティの値は、それはコントロールパネルで変更することができます2029ある場合:このプロパティの初期値はの地域と言語のオプション部分の設定から派生し
コントロールパネル。 MSDNから
:解析操作で
、「YY」のカスタム書式指定子を使用して解析された2桁の年をフォーマットプロバイダの現在のCalendar.TwoDigitYearMax特性に基づいて解釈されますカレンダー。
それは2029 en-GBの場合、彼はParseExact操作から2015年に戻ります。 – Powerlord
@Powerlord OPは2015年になっていますが、実際には1915年を望んでいます。 – user1666620
@ user1666620 CLRが2015年を決定する根拠を知りたいと思っていました。 – Yahya
を、それは1915年ではなく2015年を想定する必要があり、なぜ? ;) –
["yy"カスタムフォーマット指定子](https://msdn.microsoft.com/en-us/library/8kb3ddd4(v = vs.110).aspx#yySpecifier)は、['Calendar.TwoDigitYearMax'プロパティ](https://msdn.microsoft.com/en-us/library/system.globalization.calendar.twodigityearmax(v = vs.110).aspx)を参照してください。 "このプロパティの初期値は、コントロールパネルの地域と言語のオプション部分の設定に基づいています。" –
なぜ1815年ではなく1915年になるだろうか? – Martijn