2015-10-07 53 views
0

我有一個asp.net系統在數據庫中有一個帶有日期時間值的PODate字段。如何減去交貨到貨前剩下的日子。我想在列表視圖中以列顯示顯示其餘的日子

示例:交貨日期爲10月21日。它必須在交貨到達之前顯示14天。

它可以在選擇查詢中完成,或者它必須在我的visual studio中完成。

+0

你正在使用哪個數據庫?你可以在SQL中使用日期差異函數。 –

+0

看看http://stackoverflow.com/questions/1607336/calculate-difference-between-two-dates-number-of-days – Mainak

回答

1

如果您正在使用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)) 
+0

我會去查詢,但它顯示出負值。可以變成正數 – gamered123

+0

使用絕對值函數ABS。語法是ABS(數字表達式) –

+0

我已經嘗試了,我認爲我做錯了你能編輯你的答案 – gamered123

0

你可以用C#

DateTime date1; 
DateTime date2; 
return (date1 - date2).Days; 
0

做到這可以幫助你找到的差異。

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 
+0

我已經嘗試過它,它的工作原理,但它顯示了一個負面的日子。可以是積極的日子 – gamered123

+0

試一試SELECT FORMAT(DATEDIFF(day,GETDATE(),deliveryDate),'+#; - #; 0') –

+0

我試過了,但格式不被識別 – gamered123

0

它可以同時在做,

我寧願它在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

+0

這項工作,我該如何安排它到達最近的日期 – gamered123

+0

你是試圖得到日期對。這裏安排什麼?你能不能更清楚些.. –