c#字符串到SqlDateTime:如何设置识别格式

本文关键字:设置 识别 格式 何设置 字符串 SqlDateTime | 更新日期: 2023-09-27 18:15:47

我需要使用

SqlDateTime.Parse(val)

其中val为字符串,如" 23.3.1992 00:00:00 "。

欧洲格式,即日在月前。但是Parse需要"美式"格式。我如何告诉它使用特定的日期时间格式/区域设置?

提前感谢!

c#字符串到SqlDateTime:如何设置识别格式

试试这个:

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);