static 属性NodaTime.LocalDate.MinIsoValue具有值9999-01-01,而我期望它具有与default(LocalDate)is相同的值0001-01-01。这个值有什么原因或者是一个错误吗?
我正在使用 NodaTime 版本 2.4.4。
使用模式“yy”或“yyyy”格式化本地日期会输出时代年份,-9998而不是本例中的年份。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));
Run Code Online (Sandbox Code Playgroud)
def: 0001-01-01
def 时代: 0001-01-01 AD
def.Year: 1
def.YearOfEra: 1
分钟: 9999-01-01
min 时代: 9999-01-01 BC
min.Year: -9998
min.YearOfEra: 9999
分钟 < def: True