C#日期时间格式。本地化的字符串,如“sec”“year”

时间:2011-01-10 13:45:38

标签: c# .net datetime format

我需要为客户制作日期时间,例如“12秒”“2011年” 我怎样才能获得本地化字符串“sec”,“year”。是.net中存在特殊格式来获取这些字符串吗?

4 个答案:

答案 0 :(得分:5)

不,没有。

您需要构建包含这些本地化值的资源文件并使用它们。

答案 1 :(得分:3)

不,但你可以使用这样的东西。

DateTime.ToString("ss") + "sec";

答案 2 :(得分:2)

你能做的最好的是:

private const string yearText = "{0} year"; // do this for month or hour or minute..
DateTime date = new DateTime(1999, 12, 10, 5, 10, 16);
string year = GetYearString(date);

private string GetYearString(DateTime date)
{
      return string.Format(yearText, date.Year);
}

您也可以为此创建一个枚举,并将其传递给您的方法,并根据枚举返回您的字符串。

答案 3 :(得分:2)

使用DateTime.ToString(String,IformatProvider)方法,您可以自定义DateTime的表示(有关详细信息,请参阅the method documentation)。某些选项已使用此API进行本地化,但您需要一个自定义资源文件,用于“sec”,“年”等本地化版本。