gpt4 book ai didi

c# - 为什么 NodaTime.LocalDate.MinIsoValue 有一年 "9999"

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:18 25 4
gpt4 key购买 nike

静态属性 NodaTime.LocalDate.MinIsoValue 的值为 9999-01-01 而我希望它具有与 default 相同的值(LocalDate)0001-01-01。这个值是有原因的还是错误?

我使用的是 NodaTime 2.4.4 版。

最佳答案

使用模式格式化本地日期 "yy" or "yyyy" outputs years of era在这种情况下不是 -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));

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

关于c# - 为什么 NodaTime.LocalDate.MinIsoValue 有一年 "9999",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com