gpt4 book ai didi

c# - DateTimeFormatInfo.InvariantInfo 与 CultureInfo.InvariantCulture

转载 作者:太空狗 更新时间:2023-10-29 20:09:06 24 4
gpt4 key购买 nike

我正在尝试解析日期时间,并从客户端输入中接受一种确切的格式。

哪个更好

bool success = DateTime.TryParseExact(value, "dd-MMM-yyyy",
DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out dateTime);

bool success = DateTime.TryParseExact(value, "dd-MMM-yyyy", 
CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);

当然,此代码位于一个公共(public)静态方法中,在需要解析日期的任何地方调用该方法。

最佳答案

如果您查看 DateTime.TryParseExact 的签名,它需要 IFormatProvider作为第三个参数。 DateTimeFormatInfo.InvariantInfoCultureInfo.InvariantCulture 都实现了这个接口(interface),所以在这两种情况下,您实际上是在 DateTime 上调用相同的方法。

在内部,如果您使用 CultureInfo.InvariantCulture,它的 DateTimeFormat调用属性以获取 DateTimeFormatInfo 实例。如果您使用 DateTimeFormatInfo.InvariantInfo,则会直接使用它。 DateTimeFormatInfo 调用将稍微更快,因为它必须执行更少的指令,但这将是微不足道的,以至于在(几乎)所有情况下都没有区别。

这两种方法的主要区别在于语法。使用您认为最清楚的任何一个。

关于c# - DateTimeFormatInfo.InvariantInfo 与 CultureInfo.InvariantCulture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536162/

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