C# 日期时间转换
我正在尝试将字符串转换为C# 日期时间转换,c#,calendar,asp.net-4.0,C#,Calendar,Asp.net 4.0,我正在尝试将字符串转换为DateTime,并将其格式从05/06/2012 12:00:00更改为2012-06-05 12:00:00.000以在数据库中搜索(SQL Server 2008 R2)DateTime列类型。原始日期来自日历 我试过这个: string Datereturn = row.Cells[9].Text; DateTime dategiven = DateTime.ParseExact(Dategiven, "YYYY-MM-DD hh:
DateTime
,并将其格式从05/06/2012 12:00:00
更改为2012-06-05 12:00:00.000
以在数据库中搜索(SQL Server 2008 R2)DateTime
列类型。原始日期来自日历
我试过这个:
string Datereturn = row.Cells[9].Text;
DateTime dategiven = DateTime.ParseExact(Dategiven,
"YYYY-MM-DD hh:mm:ss[.nnn]", CultureInfo.InvariantCulture);
但是它会弹出一个无效日期时间的错误来解析
05/06/2012 12:00:00
:
DateTime dategiven = DateTime.ParseExact(Dategiven,
"dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
要获取不同格式的字符串,请执行以下操作:
string newFormat = dateGive.ToString("yyyy-MM-dd hh:mm:ss");
我建议阅读MSDN
此外,解析和格式化之间的差异(关于DateTime
):
- 解析意味着获取表示日期时间的字符串并从中获取
对象datetime
- 格式化
就是获取一个DateTime
对象并从中获取一个字符串,根据需要进行格式化DateTime
- 你能试试这个吗
DateTime dategiven = DateTime.ParseExact(Dategiven, "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
您应该检查Datereturn的值,以确保它与您用作分析模板的格式相匹配。此外,SQL Server DATETIME字段将与任何有效的字符串日期格式相匹配(例如,“05/06/12 12:00:00”和“2012-06-05 12:00:00.0000”是完全相同的DATETIME值),您可以将该值分配给Datereturn,但随后解析Datereturn。假设这是一个输入错误,那么解析的字符串值是多少?原始日期来自日历!那么可能
row.Cells[9]。Value
已经保存了日期时间?