首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ToString / TryParseExact中的DateTimeFormatInfo.InvariantInfo或null

ToString / TryParseExact中的DateTimeFormatInfo.InvariantInfo或null
EN

Stack Overflow用户
提问于 2010-09-14 16:34:20
回答 1查看 874关注 0票数 0

我想知道这两个调用的应用程序有什么不同,在生成的DateTime对象方面,TryParseExact是否会成功,以及ToString操作的结果:

代码语言:javascript
复制
DateTime.TryParseExact(value, "MMM yyyy", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out conversionResult)

DateTime.TryParseExact(value, "MMM yyyy", null, DateTimeStyles.None, out conversionResult)

还有那两个电话:

代码语言:javascript
复制
conversionResult.ToString("d M yyyy", DateTimeFormatInfo.InvariantInfo)

conversionResult.ToString("d M yyyy")

我知道提供null会导致线程区域性信息的使用...

当我显式地提供格式,没有分隔符等时,我就是想不出是什么原因指定了文化信息。

谢谢,Paweł

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-14 16:37:07

你希望它使用哪个月份的名称,作为文化如何发挥作用的一个例子?

当然,在一些格式中,这不会有什么不同,但在其他格式中,它会有所不同。例如:

代码语言:javascript
复制
using System;
using System.Globalization;
using System.Threading;

class Test
{
    static void Main()
    {
        CultureInfo french = new CultureInfo("fr-FR");
        Thread.CurrentThread.CurrentCulture = french;
        DateTime now = DateTime.Now;
        Console.WriteLine(now.ToString("d MMM yyyy"));
        Console.WriteLine(now.ToString("d MMM yyyy",
                                       CultureInfo.InvariantCulture));
    }
}

结果:

代码语言:javascript
复制
14 sept. 2010
14 Sep 2010

(这是一个相对温和的情况。)

在解析或格式化字符串时,需要考虑源/目标是计算机还是用户。如果它是一台计算机,那么不变的区域性可能是最合适的。如果是用户,他们的文化可能是最合适的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3707241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档