法国全日期

时间:2013-05-06 09:10:20

标签: c# localization

我正在使用

DateTime.Now.ToString("dddd dd MMMM yyyy",new CultureInfo(user.CultureCodeISO2)

荷兰的约会。 现在我的要求发生了变化,我需要支持法语和英语的完整日期。

在我看来,似乎没有通用解决方案可以在所有3种语言中生成正确的日期...尤其是以粗体标记的以下棘手部分

le 15décembre2012| 2012年12月15日

le 29 mars 2011 | 2011年3月29日

le 1er avril 2011 | 2011年4月1日

我是否真的需要编写一个自定义函数来添加文件并根据文化更改格式的顺序?

ToLongDateString()对我不起作用,这导致例如“mercredi31décembre2003” 没有 le

1 个答案:

答案 0 :(得分:1)

我不确定您的用户对象是什么以及它在CultureCodeISO2中提供了什么。我想它是文化标识符的int。

正如您在下面的链接中看到的那样,文章没有模式。 如果您确实想要这篇文章,那么您可能需要声明自己的格式:

Custom Date and Time Format Strings

如果我是你,我会写一个内部调用ToString方法的扩展方法,并根据所选语言添加文章。

    public static string ToStringWithArticle(this DateTime dateTime, string format, IFormatProvider provider)
    {
        var dateTimeString = dateTime.ToString(format, provider);
        if (provider == new CultureInfo("fr-BE") || provider == new CultureInfo("fr-FR"))
        {
            dateTimeString = "le " + dateTimeString;
        }
        return dateTimeString;
    }

你猜我的意思是什么?