C# 为什么NodaTime.LocalDate.MinIsoValue有一个年份“9999”

C# 为什么NodaTime.LocalDate.MinIsoValue有一个年份“9999”,c#,nodatime,C#,Nodatime,静态属性NodaTime.LocalDate.MiniOValue的值为9999-01-01,而我希望它的值与defaultLocalDate的值相同,即0001-01-01。这个值是有原因的还是一个bug 我使用的是NodaTime版本2.4.4 使用模式格式化本地日期,而不是本例中为-9998的年份。这是从BCE时代开始的。您使用的格式中没有包含era。您可以在自定义格式中使用g或gg来包含era var def = default(LocalDate); var min = LocalDa

静态属性NodaTime.LocalDate.MiniOValue的值为9999-01-01,而我希望它的值与defaultLocalDate的值相同,即0001-01-01。这个值是有原因的还是一个bug


我使用的是NodaTime版本2.4.4

使用模式格式化本地日期,而不是本例中为-9998的年份。这是从BCE时代开始的。您使用的格式中没有包含era。您可以在自定义格式中使用g或gg来包含era

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 带有era:0001-01-01 A.D.的def。 定义年份:1 def.YearOfEra:1 最小值:9999-01-01 带有纪元的最小值:9999-01-01 B.C。 最小年份:-9998 最低年费:9999 最小值