将日期转换为适当的格式

时间:2015-12-03 18:40:45

标签: c# sql asp.net sql-server datetime

我在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"格式类型。

4 个答案:

答案 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();

希望有所帮助