比较日期时间 SQL 服务器和 asp.net
Comparing Datetime SQL server and asp.net
我正在制作一个函数,如果它在 60 分钟 内,将取消订单 仅 ,我被建议的是比较订单的日期时间值到当前日期时间。
using (SqlConnection con = new SqlConnection(Helper.GetCon()))
{
con.Open();
string query = @"SELECT * from [Order] where orderid = @id";
using (SqlCommand cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@id", id);
using (SqlDataReader data = cmd.ExecuteReader())
{
DataTable dt = new DataTable();
dt.Load(data);
foreach (DataRow dr in dt.Rows)
{
var supplier = new Supplier();
supplier.OrderDate = DateTime.Parse(dr["OrderDate"].ToString());
}
}
}
return View();
到目前为止,我只从数据库中获取了日期时间,我想知道如何获取当前日期时间并获得差异,比如 分钟 或 hours 这样我就可以做一个条件语句来允许或不允许取消订单。我对此很陌生,我们将不胜感激!
谢谢!
使用 DateDiff,将所选日期列与现在进行比较并使用 MINUTE 差异:
SELECT DATEDIFF(MINUTE, OrderDate , getdate()) AS MinuteDiff from [Order] where orderid =123
如果您必须在应用程序而不是 SQL 查询中执行此操作,您可以执行以下操作:
var timeSinceOrder = DateTime.Now - supplier.OrderDate;
if(timeSinceOrder < TimeSpan.FromHours(1))
{
//do stuff here
}
DateTime.Now 获取当前时间。从当前时间减去订单日期 returns 一个时间跨度,然后您可以将该时间跨度与另一个时间跨度进行比较,在本例中由函数 Timespan.FromHours.
创建
您也可以使用DateTime.Compare方法。像
If(DateTime.Compare(supplier.OrderDate, DateTime.Now) < 60)
{
//Enable Cancel/Delete Order
}
我正在制作一个函数,如果它在 60 分钟 内,将取消订单 仅 ,我被建议的是比较订单的日期时间值到当前日期时间。
using (SqlConnection con = new SqlConnection(Helper.GetCon()))
{
con.Open();
string query = @"SELECT * from [Order] where orderid = @id";
using (SqlCommand cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@id", id);
using (SqlDataReader data = cmd.ExecuteReader())
{
DataTable dt = new DataTable();
dt.Load(data);
foreach (DataRow dr in dt.Rows)
{
var supplier = new Supplier();
supplier.OrderDate = DateTime.Parse(dr["OrderDate"].ToString());
}
}
}
return View();
到目前为止,我只从数据库中获取了日期时间,我想知道如何获取当前日期时间并获得差异,比如 分钟 或 hours 这样我就可以做一个条件语句来允许或不允许取消订单。我对此很陌生,我们将不胜感激! 谢谢!
使用 DateDiff,将所选日期列与现在进行比较并使用 MINUTE 差异:
SELECT DATEDIFF(MINUTE, OrderDate , getdate()) AS MinuteDiff from [Order] where orderid =123
如果您必须在应用程序而不是 SQL 查询中执行此操作,您可以执行以下操作:
var timeSinceOrder = DateTime.Now - supplier.OrderDate;
if(timeSinceOrder < TimeSpan.FromHours(1))
{
//do stuff here
}
DateTime.Now 获取当前时间。从当前时间减去订单日期 returns 一个时间跨度,然后您可以将该时间跨度与另一个时间跨度进行比较,在本例中由函数 Timespan.FromHours.
创建您也可以使用DateTime.Compare方法。像
If(DateTime.Compare(supplier.OrderDate, DateTime.Now) < 60)
{
//Enable Cancel/Delete Order
}