为什么 NodaTime.LocalDate.MinIsoValue 的年份是“9999”
Why does NodaTime.LocalDate.MinIsoValue have a year "9999"
静态 属性 NodaTime.LocalDate.MinIsoValue
的值为 9999-01-01
而我希望它具有与 default(LocalDate)
相同的值,即 0001-01-01
.这个值是有原因的还是错误?
我使用的是 NodaTime 2.4.4 版。
使用模式 "yy" or "yyyy" outputs years of era not the year which is -9998
in this case. LocalDate.MinIsoValue
格式化本地日期源自公元前时代。您使用的格式不包括时代。您可以在自定义格式中使用 "g"
或 "gg"
来包含纪元。
var def = default(LocalDate);
var min = LocalDate.MinIsoValue;
Console.WriteLine("def: " + def.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
Console.WriteLine("def with era: " + def.ToString("yyyy-MM-dd gg", CultureInfo.InvariantCulture));
Console.WriteLine("def.Year: " + def.Year);
Console.WriteLine("def.YearOfEra: " + def.YearOfEra);
Console.WriteLine("min: " + min.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
Console.WriteLine("min with era: " + min.ToString("yyyy-MM-dd gg", CultureInfo.InvariantCulture));
Console.WriteLine("min.Year: " + min.Year);
Console.WriteLine("min.YearOfEra: " + min.YearOfEra);
Console.WriteLine("min < def: " + (min < def));
def: 0001-01-01
def with era: 0001-01-01 A.D.
def.Year: 1
def.YearOfEra: 1
min: 9999-01-01
min with era: 9999-01-01 B.C.
min.Year: -9998
min.YearOfEra: 9999
min < def: True
静态 属性 NodaTime.LocalDate.MinIsoValue
的值为 9999-01-01
而我希望它具有与 default(LocalDate)
相同的值,即 0001-01-01
.这个值是有原因的还是错误?
我使用的是 NodaTime 2.4.4 版。
使用模式 "yy" or "yyyy" outputs years of era not the year which is -9998
in this case. LocalDate.MinIsoValue
格式化本地日期源自公元前时代。您使用的格式不包括时代。您可以在自定义格式中使用 "g"
或 "gg"
来包含纪元。
var def = default(LocalDate);
var min = LocalDate.MinIsoValue;
Console.WriteLine("def: " + def.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
Console.WriteLine("def with era: " + def.ToString("yyyy-MM-dd gg", CultureInfo.InvariantCulture));
Console.WriteLine("def.Year: " + def.Year);
Console.WriteLine("def.YearOfEra: " + def.YearOfEra);
Console.WriteLine("min: " + min.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
Console.WriteLine("min with era: " + min.ToString("yyyy-MM-dd gg", CultureInfo.InvariantCulture));
Console.WriteLine("min.Year: " + min.Year);
Console.WriteLine("min.YearOfEra: " + min.YearOfEra);
Console.WriteLine("min < def: " + (min < def));
def: 0001-01-01
def with era: 0001-01-01 A.D.
def.Year: 1
def.YearOfEra: 1
min: 9999-01-01
min with era: 9999-01-01 B.C.
min.Year: -9998
min.YearOfEra: 9999
min < def: True