我正在用 VS2010 c# 开发一个应用程序来从 SQLServer 获取单行数据并将其插入到 MySQL。
我已获取数据并将其存储在特定的字符串变量中。获取代码如下。
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());
}
dr.Close();
现在我有了所有的值,但要在 MySQL 中插入日期时间需要将字符串格式化为 yyyy-mm-dd hh:mm:ss 格式。为了实现这一点,我有下面的代码
s_added_date = s_added_date.Substring(0, s_added_date.Length - 3);
DateTime datevalue = DateTime.Parse(s_added_date);
string formatForMySql = datevalue.ToString("yyyy-MM-DD HH:MM:SS");
当我得到输出时,我得到 2013-11-DD 12:11:SS 不明白这里出了什么问题。
请帮忙解决
提前致谢。
最佳答案
您可以将日期格式更改为 this formats.In your case 这可能会有所帮助。
// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
在您的情况下:
string formatForMySql = datevalue.ToString("yyyy-MM-dd HH:mm:ss");
关于c# - 将 SQLServer 的 DateTime 转换为 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20014921/