我有一个场景,我有像1/1/1300这样的日期值,我想将它转换为datetime对象以进行比较。在Sql Server中我使用datetime2作为这个日期,它工作得很完美,但我不知道如何在C#中将它转换为datetime2?我正在使用.Net 4
答案 0 :(得分:1)
您可以使用ParseExact方法:
DateTime date = DateTime.ParseExact("1/1/1300", "d/M/yyyy", CultureInfo.InvariantCulture);
或如果日期格式错误或代表无效日期,请使用TryParseExact:
DateTime date;
if (DateTime.TryParseExact("1/1/1300", "d/M/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
// parsing was successful => you could use the date here
}
答案 1 :(得分:0)
C#中没有DateTime2,只有DateTime:
string dateString = "1/1/1300";
DateTime date = DateTime.Parse(dateString, CultureInfo.InvariantCulture);
答案 2 :(得分:0)
如果您要查找的是将datetime2
SQL数据类型转换为.NET数据类型,请检查以下答案:
Conversion of a datetime2 data type to a datetime data type results out-of-range value
似乎建议类型相同DateTime
,答案中的代码段:
new DataColumn("myDate", typeof(DateTime))
我假设您使用的是DataReader,您也可以将该值视为DateTime
,如果DateTimeOFfset
,也可以视为DateTime
。
如果您使用的是ORM,则取决于使用的ORM。如果这仍然没有帮助,您可能需要指定访问数据库的方式。