我需要使用
SqlDateTime.Parse(val)
其中 val 是一个字符串,例如“23.3.1992 00:00:00”。
该字符串采用欧洲格式,即日在月之前。但是 Parse 想要“美国”格式。我如何告诉它使用特定的日期时间格式/语言环境?
提前致谢!
我需要使用
SqlDateTime.Parse(val)
其中 val 是一个字符串,例如“23.3.1992 00:00:00”。
该字符串采用欧洲格式,即日在月之前。但是 Parse 想要“美国”格式。我如何告诉它使用特定的日期时间格式/语言环境?
提前致谢!
试试这个:
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"));
这可以在一个语句中完成,但只是为了说明而分开。
您是否尝试过 DateTime 而不是 SQLDateTime
DateTime d = DateTime.Parse(val);
String s = d.ToString(CultureInfo.CreateSpecificCulture("en-US"));
你能试试这个吗?
string valInEuropean = "23.3.1992 00:00:00";
DateTime dateInEuropean = DateTime.Parse(valInEuropean);
string valInAmerican = dateInEuropean.ToString("yyyy-MM-dd HH:mm:ww");
当格式已知时(在这种情况下)将字符串转换为日期时间对象,请使用
DateTime dwweek = DateTime.ParseExact("23.3.1992 00:00:00", "dd.MM.yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);