Sql 如何仅在有日期和时间的情况下显示日期?
在显示视图时。它以日期时间格式显示Sql 如何仅在有日期和时间的情况下显示日期?,sql,asp.net,asp.net-mvc-5,Sql,Asp.net,Asp.net Mvc 5,在显示视图时。它以日期时间格式显示order\u date和expected\u date 它将订单日期显示为2017年8月19日上午12:00:00,预计日期显示为2017年8月22日上午12:00。在SQL Server中,order\u date和expected\u date都具有date数据类型 我应该怎么做才能只显示日期 <table> @{ int cann = ((DataTable)ViewBag.orderdata).Rows.Count;
order\u date
和expected\u date
它将订单日期显示为2017年8月19日上午12:00:00,预计日期显示为2017年8月22日上午12:00。在SQL Server中,order\u date
和expected\u date
都具有date
数据类型
我应该怎么做才能只显示日期
<table>
@{
int cann = ((DataTable)ViewBag.orderdata).Rows.Count;
DataTable dt = (DataTable)ViewBag.orderdata;
for (int i = 0; i < cann; i++)
{
<tr>
<td>@dt.Rows[i]["order_id"]</td>
<td>@dt.Rows[i]["customer_name"]</td>
<td>@dt.Rows[i]["Customer_address"]</td>
<td>@dt.Rows[i]["customer_phone"]</td>
<td>@dt.Rows[i]["order_date"]</td>
<td>@dt.Rows[i]["expected_date"]</td>
<td>@dt.Rows[i]["total_amount"]</td>
<td>@dt.Rows[i]["advance_amount"]</td>
<td>@dt.Rows[i]["due_amount"]</td>
<td><a href="/NewOrder/EditOrder?id=@dt.Rows[i]["order_id"]"
class="glyphicon glyphicon-wrench"></a>|<a href="/NewOrder/DeleteOrder?
id=@dt.Rows[i]["order_id"]" class="glyphicon glyphicon-trash"></a>|<a
href="/NewOrder/DetailsData?id=@dt.Rows[i]["order_id"]" class="glyphicon
glyphicon-dashboard"></a></td>
</tr>
}
}
</table>
Sql查询:
public DataTable ViewOrder()
{
string sql = "select * from ProductOrder";
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter view = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
view.Fill(dt);
con.Close();
return dt;
}
哥们,首先,在视图中暴露你的id不是一个好的做法,请阅读分层架构。阅读有关数据层职责的信息。 但你问题的答案是
@DateTime.Parse(dt.Rows[i]["order_date"]).ToString("yy/MM/dd");
哥们,首先,在视图中暴露你的id不是一个好的做法,请阅读分层架构。阅读有关数据层职责的信息。 但你问题的答案是
@DateTime.Parse(dt.Rows[i]["order_date"]).ToString("yy/MM/dd");
您可以使用
CAST
函数将日期时间转换为日期,如下所示:
sql = "select order_id, customer_name, Customer_address, customer_phone,
CAST(order_date as date) as order_date, CAST(expected_date as date) as expected_date,
total_amount, advance_amount, due_amount from ProductOrder"
您可以使用
CAST
函数将日期时间转换为日期,如下所示:
sql = "select order_id, customer_name, Customer_address, customer_phone,
CAST(order_date as date) as order_date, CAST(expected_date as date) as expected_date,
total_amount, advance_amount, due_amount from ProductOrder"
SQL Server:
select CONVERT(VARCHAR(12), expected_date, 103) AS expected_date, CONVERT(VARCHAR(12), order_date, 103) AS order_date from ProductOrder
SQL Server:
select CONVERT(VARCHAR(12), expected_date, 103) AS expected_date, CONVERT(VARCHAR(12), order_date, 103) AS order_date from ProductOrder
@dt.Rows[i][“order\u date”].date.ToString(“d”)@dt.Rows[i][“order\u date”].date.ToString(“d”)为什么不在SQL中使用Convert(日期,“YourDateColumn”)。如果您想要特定格式,例如dd/MM/YYYY,您可以尝试转换(varchar,GETDATE(),103),为什么不在SQL中使用Convert(Date,“YourDateColumn”)。如果您需要特定格式,如dd/MM/YYYY,您可以尝试转换(varchar,GETDATE(),103),谢谢。但是我不明白你在说什么“在视图中公开你的id”它不起作用@DateTime.Parse(dt.Rows[i][“order_date”])。ToSortDateString()我已经修复了我的答案:)谢谢。但是我不明白你在说什么“在视图中公开你的id”它在@DateTime.Parse(dt.Rows[i][“order_date”])中不起作用。ToSortDateString()我已经修复了我的答案:)