我工作在C#上的算法基於對輸入字符串具有以下特徵來計算過去的日期時間:計算過去在C#日期時間
的字符串包含一個整數,其後是「d」,「M」或「Y」,如「1D」或「90M」。
輸出將是DateTime.Now減去相應的天數,月或年。
我遇到的問題是,例如,如果我切換正則表達式(D,M或Y)上的輸入字符串並從DateTime.Now中減去相應的TimeSpan,則新的TimeSpan()構造函數不接受幾個月或幾年,只有幾天。
if (new Regex(@"[0-9]+D").IsMatch(value))
{
newDate = DateTime.Now - TimeSpan(Int32.Parse(value.Replace("D", "")), 0, 0);
}
這種邏輯是好的,如果輸入的字符串是天,但時間跨度的構造不接受月或數年,如果我假設每個月有30天,或每年有這將是令人難以置信的不準確365天。
有沒有人有關於如何實現這個算法的想法?
謝謝!
你有沒有想過如何實現它?因爲到目前爲止,你的技術看起來像:「問這麼說,也許有人會爲我做」。告訴我們你已經嘗試了什麼! – 2010-03-01 21:24:15