2012-11-22 17 views
0

我想從過去3個月保存的數據庫中獲取數據,因爲我有當前日期和時間,但如何計算3個月自我日期和時間,這樣我就可以在查詢通過這些2個日期並得到其保存這些日期間的數據如何獲得確切的3個月前日期和時間從今天的日期和當前時間使用C#

+0

你試過了嗎?var prevDate = currentDate.AddMonths(-3);' – Mauro

+2

Define「3 months ago」。你的意思是90天前?或者3個月前的那個月的同一天? 5月29日的結果應該是什麼? – dtb

回答

9

使用AddMonths method

DateTime ago = DateTime.Now.AddMonths(-3); 
+0

+1最好的答案是因爲如果你沒有指定'AddMonths'方法返回的值,那麼它是沒用的。 –

+0

謝謝,它的工作 –

3

試試這個:

DateTime.Now.AddMonths(-3) 
1

你可以試試這個DateTime.Now.AddMonths(-3)

-1

好,幾個月的長度可以變化,但如果你不介意四捨五入它,你總是可以做:

var newDate = oldDate.AddDays(-90); 
0

AddMonths可以是負數。

DataTable tblResult = new DataTable(); 
string sql = "SELECT * FROM dbo.TableName WHERE Date BETWEEN @startDate AND @endData"; 
using (var con = new SqlConnection(connectionString)) 
using (var cmd = new SqlCommand(sql, con)) 
using (var da = new SqlDataAdapter(cmd)) 
{ 
    // asuming that your startdate is three months ago and your enddate is now 
    cmd.Parameters.AddWithValue("@startDate", DateTime.Now.AddMonths(-3)); 
    cmd.Parameters.AddWithValue("@endDate", DateTime.Now); 
    da.Fill(tblResult); 
}