显示其余的日子
我有一个asp.net系统在数据库中有一个带有日期时间值的PODate字段。如何减去交货到货前剩下的日子。我想在列表视图中以列显示显示其余的日子
示例:交货日期为10月21日。它必须在交货到达之前显示14天。
它可以在选择查询中完成,或者它必须在我的visual studio中完成。
如果您正在使用SQL Server
那么你可以使用此查询:
SELECT DATEDIFF(day,Column1,Column2) AS DiffDate from TableName
或者,如果你想这样做的c#
那么你可以使用TimeSpan
对象
DateTime date1;
DateTime date2;
return (date1 - date2).TotalDays;
如果您子查询只返回一个值,然后您可以尝试
SELECT ABS((SELECT DATEDIFF(day,Column1,Column2) AS DiffDate from TableName))
我会去查询,但它显示出负值。可以变成正数 – gamered123
使用绝对值函数ABS。语法是ABS(数字表达式) –
我已经尝试了,我认为我做错了你能编辑你的答案 – gamered123
你可以用C#
DateTime date1;
DateTime date2;
return (date1 - date2).Days;
做到这可以帮助你找到的差异。
SELECT DATEDIFF(DAY, GETDATE(), deliveryDate) AS DayDiff
SELECT DATEDIFF(MINUTE, GETDATE(), deliveryDate) AS MinuteDiff
SELECT DATEDIFF(SECOND, GETDATE(), deliveryDate) AS SecondDiff
SELECT DATEDIFF(WEEK, GETDATE(), deliveryDate) AS WeekDiff
SELECT DATEDIFF(HOUR, GETDATE(), deliveryDate) AS HourDiff
我已经尝试过它,它的工作原理,但它显示了一个负面的日子。可以是积极的日子 – gamered123
试一试SELECT FORMAT(DATEDIFF(day,GETDATE(),deliveryDate),'+#; - #; 0') –
我试过了,但格式不被识别 – gamered123
它可以同时在做,
我宁愿它在Visual Studio中进行,因为这是明显地呈现 逻辑。
C#
DateTime oldDate = new DateTime(2002,7,15);
DateTime newDate = DateTime.Now;
// Difference in days, hours, and minutes.
TimeSpan ts = newDate - oldDate;
// Difference in days.
int differenceInDays = ts.Days;
Console.WriteLine("Difference in days: {0} ", differenceInDays);
https://msdn.microsoft.com/en-us/library/aa287590%28v=vs.71%29.aspx?f=255&MSPPError=-2147217396
VB
Dim firstDate, msg As String
Dim secondDate As Date
firstDate = InputBox("Enter a date")
Try
secondDate = CDate(firstDate)
msg = "Days from today: " & DateDiff(DateInterval.Day, Now, secondDate)
MsgBox(msg)
Catch
MsgBox("Not a valid date value.")
End Try
https://msdn.microsoft.com/en-us/library/b5xbyt6f(v=vs.90).aspx
这项工作,我该如何安排它到达最近的日期 – gamered123
你是试图得到日期对。这里安排什么?你能不能更清楚些.. –
你正在使用哪个数据库?你可以在SQL中使用日期差异函数。 –
看看http://stackoverflow.com/questions/1607336/calculate-difference-between-two-dates-number-of-days – Mainak