2014-03-30 77 views
0

所以我有一个数据库,我从它得到它的dataTableReader的数据。使用dataTableReader从数据库中获取日期时间变量

我想当你从数据库中得到它们时,你会得到它们作为object,但不是很确定,但肯定不是我设置它们在数据库中的变量。

所以毛皮我只intvarchar数据库中使用,所以我已使用toString()int.parse()转换它们。现在我需要使用日期时间变量。

我怎样才能从数据库中获取它作为日期时间或将其转换为日期时间而不是字符串(使用toString())?感谢您的帮助

+0

1.您在数据库中存储'Datetime'的格式? 2.做它还包括时间? –

+0

格式的日期时间,它包括时间,但它并不重要,我可以取消它的时间,只有当你有解决方案时离开日期 – Cooper

+0

检查下面的答案。你想要吗? –

回答

1

这应该在大多数情况下,这样做:

var datetime = DateTime.Parse("string"); 

的字符串是保存在数据库中

+0

如果字符串具有自定义日期格式,该怎么办? –

+0

@SonerGönül当一个字符串存储在一个数据库中时,它以通常的格式存储在右边?纠正我,如果我错了 –

+0

这完全取决于OP如何存储它.. –

2

我怎样才能得到它从数据库中为日期或转换字符串它到 datetime而不是字符串(使用toString())?

解决方案1:如果正在存储该日期值作为DateTime类型则可以直接转换成日期时间使用Convert.ToDateTime()方法

尝试:

DataReader dr = new DataReader(); 
DateTime dt; 
while(dr.Read()) 
{ 
dt = Convert.ToDateTime(dr["DateColumn"]); 
} 

解决方案2:如果您以某种固定格式(如dd-MM-yyyy,如VARCHAR)存储日期,则可以使用DateTime.ParseExact()方法

试试这个:

DataReader dr = new DataReader(); 
DateTime dt; 
while(dr.Read()) 
{ 
dt = DateTime.ParseExact(dr["DateColumn"].ToString(),"dd-MM-yyyy HH:mm:ss", 
               CultureInfo.InvariantCulture); 
} 
+0

非常感谢,但DateTime.parse(“String”)做到了 – Cooper

2

尝试Convert.ToDateTime(myDataReader[i])其中i是你列的索引。

+0

非常感谢,但DateTime.parse(“String”)做到了 – Cooper

相关问题