Ash*_*hok -2 c# sql sql-server datetime
我正在VS2010 c#中开发一个应用程序来从SQLServer获取单行数据并将其插入MySQL.
我有一个列名为Date_Time的表,其中包含24小时的日期和时间.格式如下图所示.
获取代码如下.
SqlCommand cmd = new SqlCommand("SELECT TOP (1) s_name, s_city, s_address, s_added_date, s_added_by FROM tblAQI ORDER BY s_added_date DESC", SSCon);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
s_name = (dr["s_name"].ToString());
s_city = (dr["s_city"].ToString());
s_address = (dr["s_address"].ToString());
s_added_date = (dr["s_added_date"].ToString());
s_added_by = (dr["s_added_by"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
当我打印s_added_date的值时,它给了我

我的问题是为什么它会这样显示,我怎样才能在24小时内得到这个时间.格式.
请帮忙解决它.
提前致谢.
我有一个列名为Date_Time的表,其中包含24小时的日期和时间.格式
不,你有一个列类型为的表DateTime.这些值本身并不具有任何格式 - 它们恰好在SQL结果查看器中以一种方式显示,这与.NET默认情况下的格式不同.
理解这里的数据只是日期和时间非常重要- 而不是格式.
要以特定方式对其进行格式化,请将其强制转换为DateTime然后使用ToString允许您指定格式的重载:
DateTime addedDate = (DateTime) sr["s_added_date"];
string addedDateText = addedDate.ToString("dd-MMM-yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅有关标准日期/时间格式和自定义日期/时间格式的MSDN文章.
但是,如果目的真的只是将其插入到MySQL,你应该把它转换成字符串在所有.只需将参数值直接传递给相应的MySQL命令作为参数即可.添加字符串转换只会增加混乱.尽可能将数据保持为"自然"类型 - 在本例中为DateTime.
| 归档时间: |
|
| 查看次数: |
2259 次 |
| 最近记录: |