我在ms-sql数据库中有一个表,其中包含列中的日期,如下所示:
2010-06-24 00:00:00.000
然后在c#中,我得到那些带有语句的日期,并将其分配给一个变量,该变量填充了使用asp.net创建的网页上的网格列。
SqlCommand command = new SqlCommand();
//connection info here
sql2 = "(select statement here);
command.CommandText = sql2;
dates["Entry"] = command.ExecuteScalar();
所以,这填补了正确日期的网格,但是,我尝试格式化它,所以我只是用斜线获得月,日和年,而不是之后的时间。像这样:
06/24/2010
我已尝试将其转换为日期时间并使用:
ToString("MM/dd/yyyy")
我尝试过使用读卡器并执行以下操作:
reader.GetDatetime.toString("MM/dd/yyy")
也没有用。我似乎无法找到正确的方法来做到这一点。任何提示都会很棒。
编辑:这是sql2声明:
sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();
这只是获取用户输入内容的最新日期。
编辑2: 网格中显示的日期是这样的" 3/12/2013 12:00:00 AM"。
编辑3:.ExecuteScalar()函数似乎自动将日期格式化为" 3/12/2013 12:00:00 AM"格式类型。
答案 0 :(得分:0)
只需将您的格式更改为yyyy-MM-dd
喜欢;
dates["Entry"] = ((DateTime)command.ExecuteScalar()).ToString("yyyy-MM-dd",
CultureInfo.InvariantCulture);
答案 1 :(得分:0)
2010-06-24如果你想像这样显示一个DateTime,你只需传递一个格式字符串“yyyy-mm-dd”,它就像这样:
string Date = new DateTime(2010, 6, 24).ToString("yyyy-mm-dd");
您可以在此链接上阅读有关可以在DateTime上输出的格式的更多信息: https://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx
答案 2 :(得分:0)
你也可以使用ToShortDateString()函数来切断时间字符串 - :
reader.GetDatetime.ToShortDateString();
答案 3 :(得分:0)
在sql中尝试以下内容:
select CONVERT(datetime, column_name, 101) from table_name
101 - 是日期时间风格。您可以通过link
找到所有样式同样在代码背后:
Convert.ToDateTime(reader["column"].ToString()).ToShortDateString();
希望有所帮助