2014-06-21 33 views
-1

可以說我有以下的DateTime變量如何將時間設置爲DateTime中的零?

DateTime CurDate = '26/3/2014 12:00:00 AM'; 

我不知道我怎麼可以設置CurDate,這樣的價值將成爲26/3/2014 00:00:00 AM

注意,我還是想的時間,但與所有零。

** P/S:全部爲零的原因是因爲存儲在SQL Server中的日期時間值是26/3/2014 00:00:00.000。我需要投CurDate有全零以匹配數據庫中的數據

+1

這確實是一個格式化問題。 '24小時制'12:00:00 AM' =='00:00:00'。沒有'00:00:00 AM'這樣的東西。 –

+1

這個問題似乎是無關緊要的,因爲它肯定是[XY問題](http://meta.stackexchange.com/a/66378/201534)。與其詢問提出的解決方案的問題,不如考慮詢問原始問題。 –

回答

0

您可以簡單地使用

CurDate.Date and that will give you '26/3/2012 00:00:00' 
0

你可以試試這個:

// Parse the string you have, to create a datetime. 
DateTime CurDate = DateTime.ParseExact('26/3/2014 12:00:00 AM', 
             "dd-MM-yyyy HH:mm:ss", 
             CultureInfo.InvariantCulture); 

// Create the datetime you want based on the CurDate 
DateTime result = new DateTime(CurDate.Year, CurDate.Month, CurDate.Day, 0, 0, 0); 

更多有關ParseExact請看看here

1

不通,在SQL Server.NET日期沒有任何介紹。它們只是一個數值。不要在乎,SQL Server.NET這麼聰明,可以毫不費力地傳遞參數。只需傳遞正確數據類型的參數即可。

1

使用24小時格式

DateTime CurDate = DateTime.Parse("3/26/2014 12:00:00 AM"); 
Console.WriteLine("12 Hour Format: " + CurDate.ToString("dd-MM-yyyy hh:mm:ss")); 
Console.WriteLine("24 Hour Format: " + CurDate.ToString("dd-MM-yyyy HH:mm:ss"));