回答
如果我正確地把你的問題,你最好的選擇是做到以下幾點:
- 轉換日期爲一個數字,其中數字表示的數自特定日期起的天數
- 將N加到該數字
- 將結果轉換回日期
您可以使用茱莉安日的號碼做日期。
查看Wikipedia article on Julian Day Number (JDN)瞭解更多信息。
說了這麼多,如果你實際上使用的是最新的編程語言,最有設施已經處理日期,如Java,C#/。NET,Python等
下面是用於在http://reqr.net/cal計算一天偏移Ruby代碼:https://gist.github.com/910427
算法本身的語言無關,只使用基本類型。
秒是你的朋友。對於僞任何語言使用的是:
seconds_since_1970_to_date(date_to_seconds_since_1970(currentdate) + N * 86400)
這在很大程度上取決於用什麼語言和框架您正在使用您的開發,因爲大多數的框架有一些方法來處理這個問題。例如,在.NET中,這是很容易的:
DateTime futureDate = DateTime.Today.AddDays(numberOfDaysInFuture);
C也有這樣的功能嗎?! 我應該包括什麼? – 2011-04-08 18:30:17
@Saba:在C中查看日期和時間:http://www.codeproject.com/KB/datetime/datetimedisc.aspx – 2011-04-08 18:37:46
的Transact-SQL(MS SQL服務器)提供了DATEADD函數。例如:
DECLARE @days int;
DECLARE @datetime datetime;
SET @days = 365;
SET @datetime = '2000-01-01 01:01:01.111'; /* 2000 was a leap year */
SELECT DATEADD(day, @days, @datetime);
--RESULT: 2000-12-31 01:01:01.110
既然你正在尋找一個C的解決方案,看看ctime.h是否不符合你的需求,然後再重新實現你自己的一切。
- 1. 查找特定日期到目前爲止的簡短天數(28,29,30,31)
- 2. 如何查找到目前爲止一週或一個月內的日期
- 3. 內找到最近n天
- 4. 的emacs:顯示日期像「n天前」
- 5. MySQL WHERE語句在2天內查找到期日期
- 6. Java日期問題,找到日期X天前
- 7. iPhone:將當前日期查找爲將來的60天
- 8. 到目前爲止的返回天數
- 9. 如何從當前日期查找前一天的日期?使用jquery
- 10. MySQL獲取n天前的日期作爲時間戳
- 11. 是今天日期5天內的項目日期
- 12. 得到當前日期,並檢查它是否爲「第X天」
- 13. NSNotification從目標日期前2天
- 14. 試圖找到「前n」,但與日期得到一些錯誤
- 15. 顯示日期前12天爲當前日期
- 16. 查找日期範圍目前一個星期,每星期
- 17. 查找n個月前的確切日期和時間?
- 18. Mysql如何計算從和到目前爲止的日期?
- 19. 查找當前日期是否爲替代日期
- 20. PHP找到天,直到日期
- 21. Oracle SQL Where子句查找30天以前的日期記錄
- 22. mysql查找前一天沒有行存在的日期
- 23. 批處理腳本從當前日期查找最後兩天
- 24. 爲什麼今天的日期顯示爲之前的日期?
- 25. 如何在3天后查找日期
- 26. 如何查找日期的當天
- 27. 查找距今天最近的日期
- 28. 檢查日期是否在當前時間的7天之內
- 29. SQL查詢檢查到期日期是從今天3天?
- 30. Mysql日期查詢來查找當前是否在兩個日期之內?
? – 2011-04-08 18:20:44
例如,C. – 2011-04-08 18:27:27