2013-10-11 35 views
2

我有兩個日期FromDatetoDate如何時間值轉換在二十三時59分59秒

轉換日期像以下並傳遞作爲參數存儲的過程格式:

兩個可變是日期時間FROM日期的,日期時間TODATE變量

初始值來像{10/1/2013 12:00:00 AM}

我已經轉換,使用以下代碼來{10/1/2013 00:00:00}

sparamFromDate.Value = FromDate.ToString("yyyy-MM-dd HH:mm:ss"); 

    sparamToDate.Value = toDate.ToString("yyyy-MM-dd HH:mm:ss"); 

這是給我預期的結果爲FROM日期爲:2013-10-11 00:00:00.000

但我需要在以下格式我如何轉換這代碼TODATE?

TODATE:2013-10-11 23:59:59.000

+0

是FROM日期和TODATE有時間組成部分? – Xyroid

+0

FromDate和toDate變量的初始值是什麼? –

+0

更新的問題 – Neo

回答

4
toDate.ToString("yyyy-MM-dd 23:59:59.000"); 

它不事關如果TODATE只是日期或有時間成分 - 輸出將是相同的,你想要什麼。

+0

感謝簡單的,但我更喜歡添加方法和時間跨度雲是更好的選擇:) – Neo

0
toDate.Value = toDate.ToString("yyyy-MM-dd HH:mm:ss.nnn"); 
+0

不會工作,他希望格式是一天的結束 – wal

2

我相信您要求toDate包含該日期內的所有分鐘,而不考慮日曆時間的實際時間部分。

下面的表達式應該達到這種效果:

toDate.Date.Add(new TimeSpan(0, 23, 59, 59, 999)).ToString("yyyy-MM-dd HH:mm:ss.nnn"); 

沃爾瑪的答案是其實更容易。

您還應該使用InvariantCulture執行ToString()操作,因爲您最終可能會使用「:」或「 - 」以外的其他值作爲日期和時間字段分隔符。這可能會混淆你的數據庫引擎。

1

你可以得到的DateTime一天的末尾,然後toString()方法是,使用:

toDate.Date.AddDays(1).AddMilliseconds(-1) 
相關問題