2011-09-20 76 views
1

如果我在日期時間對象中有日期和時間,我可以使用格式字符串從日期和時間中刪除說10分鐘或24小時等?使用格式字符串從日期減去時間

所以如果我有1/1/1990 12:30:00 pm,我想從中刪除1小時,我可以使用格式字符串嗎?

編輯

我需要存儲的日記,並且用戶可以選擇提醒的類型。所以在1小時前。所以然後我想將格式字符串存儲在數據庫中,我可以得到並應用到日期時間以獲取提醒日期時間

+0

待辦事項你想執行日期時間算術或只是以某種特定的方式格式化日期時間?什麼是「刪除10分鐘」?你真的是指'減去10分鐘嗎? – zerkms

+0

算術是和減,是 – griegs

回答

0

最好的辦法是轉換爲DateTime對象,然後回格式化字符串(如果這就是你所需要的):

var time = DateTime.Parse("1/1/1990 12:30:00pm"); 
time = time.AddMinutes(-10); 
string timeString = time.ToString("MM/dd/yyyy hh:mm:ss tt"); 
+0

實際上,如果我將提醒轉換爲分鐘,即使提前幾周,我也可以簡單地存儲分鐘數量並使用AddMinutes。這足夠瘋狂的工作, – griegs

+0

它取決於你需要的分辨率,你可以使用AddSeconds,AddDays,AddMonths,AddYears等,這取決於你需要什麼。也應該接受@DoesItWorks的答案,因爲它是相似的 – BrokenGlass

4

這樣的事情可能會做你所需要的。不知道你的意思是通過使用格式字符串減去一小時。

DateTime dt = new DateTime(1990, 1, 1, 12, 30, 0); 
string s = dt.Subtract(new TimeSpan(1, 0, 0)).ToString("MM/dd/yyyy hh:mm:ss tt") 
+0

我需要存儲日記條目,用戶可以選擇提醒類型。所以在1小時前。所以然後我想將格式字符串存儲在數據庫中,我可以得到並應用於日期時間以獲取提醒日期時間 – griegs

+0

@griegs:c#與db的交互是一個廣泛的問題。您可能需要檢查DoesItWork的答案是否爲有效,因爲它回答了有關減法的原始問題,並向另一個人詢問了有關您使用的內容,所嘗試的內容等的詳細信息。 – zerkms

+0

然後答案是,不,您不能減去一小時.NET日期/時間格式字符串。您需要存儲提醒類型所代表的時間長度。然後,您將使用上述方法(或.NET提供的其他方法之一)獲取日記條目datetime並減去該長度。 – DoesItWork

0

,如果您有您可以在查詢中使用這個..

DATE_SUB(日期,INTERVAL EXPR單元) 實施例:

YourDate = DATE_SUB(1990年1月1日下午12點30分00秒,INTERVAL 1小時)

YourDate = DATE_SUB(1990年1月1日下午12點30分00秒,INTERVAL 12 MINUTE)

YourDate = DATE_SUB(1990年1月1日下午12點30分00秒,INTERVAL 45秒)