我的 DB2 数据库中有一个字符串,它位于美国。我有一个列值设置为此字符串“2011-12-31 00:00:00”,它表示 2011 年、12 月和 12 月的第一天。
我在我的客户端程序中将其作为字符串检索,该程序在英国运行,并且 UI 设置为本地文化(默认)。我的客户程序也在美国和香港运行,其文化设置为当地文化,分别为美国和香港。
我正在使用以下代码将字符串解析为日期时间。我不太确定这是否会奏效,而且我找不到任何指向该方向的好链接。你能否告诉我这是否适用于各种文化,如果不是为什么?
string quarterStartDate = "2011-12-01 00:00:00";
DateTime quarterStart;
DateTime.TryParse(quarterStartDate, CultureInfo.InvariantCulture, DateTimeStyles.None, out quarterStart);
return quarterStart;
我有一个可以按照我的要求进行的测试,但是我不太确定当 UI 将在不同的国家/地区运行时这是否会起作用。
string quarterStarter = "2011-12-01 00:00:00";
DateTime quarterStart;
DateTime.TryParse(quarterStarter,CultureInfo.InvariantCulture,DateTimeStyles.None,out quarterStart);
Assert.IsTrue(quarterStart.Year == 2011);
Assert.IsTrue(quarterStart.Month == 12);
Assert.IsTrue(quarterStart.Day == 1);