3

我需要使用

SqlDateTime.Parse(val)

其中 val 是一个字符串,例如“23.3.1992 00:00:00”。

该字符串采用欧洲格式,即日在月之前。但是 Parse 想要“美国”格式。我如何告诉它使用特定的日期时间格式/语言环境?

提前致谢!

4

4 回答 4

5

试试这个:

string val = "23.12.1992 00:00:00";

// Parse exactly from your input string to the native date format.
DateTime dt = DateTime.ParseExact(val, "dd.M.yyyy hh:mm:ss", null);

// Part to SqlDateTime then            
System.Data.SqlTypes.SqlDateTime dtSql = System.Data.SqlTypes.SqlDateTime.Parse(dt.ToString("yyyy/MM/dd"));

这可以在一个语句中完成,但只是为了说明而分开。

于 2013-05-29T12:52:14.207 回答
2

您是否尝试过 DateTime 而不是 SQLDateTime

DateTime d = DateTime.Parse(val); 
String s = d.ToString(CultureInfo.CreateSpecificCulture("en-US"));
于 2013-05-29T12:55:55.477 回答
0

你能试试这个吗?

string valInEuropean = "23.3.1992 00:00:00";
DateTime dateInEuropean = DateTime.Parse(valInEuropean);
string valInAmerican = dateInEuropean.ToString("yyyy-MM-dd HH:mm:ww");
于 2013-05-29T12:42:39.750 回答
0

当格式已知时(在这种情况下)将字符串转换为日期时间对象,请使用

DateTime dwweek = DateTime.ParseExact("23.3.1992 00:00:00", "dd.MM.yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
于 2013-05-29T12:51:21.250 回答