一个普遍问题:
DateTime对象是否随之存储CultureInfo,或者您需要使用Formatter根据当前文化格式化DateTime?
我有一个返回DateTime的类属性。在该属性中,我使用CultureInfo对象使用当前文化信息设置DateTime对象。下面是我正在使用的类属性的代码:
public DateTime PrintedQuoteDate {
get {
DateTime printQuoteDate = DateTime.Today;
// cInfo = CultureInfo object
return Convert.ToDateTime(printQuoteDate , cInfo);
}
}
所以我的问题是,当我在我的代码中使用上面的属性时,它是否具有我在其get方法中设置的相应文化信息,或者我将必须使用相同的CONVERT代码来格式化日期时间。这里的限制是Property应该只返回DateTime类型。
任何想法,建议
答案 0 :(得分:1)
DateTime
并不存储任何文化。实际上它甚至没有对TimeZone的引用,它只知道它是否是UTC DateTime
。这由内部枚举处理。
在使用DateTime
的ToString方法时,您需要指定格式提供程序(每个文化本身都是格式提供程序),否则它将使用文化(实际上是文化而不是UI文化)当前的主题。
您可以使用以下ISO国家/地区代码来获取预定文化:
var us = new CultureInfo("en-US");
var british = new CultureInfo("en-GB");
var danish = new CultureInfo("da");
正如你所看到的丹麦语,只要指定语言就足够了,因为没有其他语言环境(据我所知)。