2014-06-30 112 views
0

我有一個日期時間格式爲「20/6/2014 12:45:00 PM」,我希望將其轉換爲我的SQL日期時間格式,例如:「2013-06-01 12:38:28.000 「C#中的日期時間轉換#

DateTime date = DateTime.ParseExact("20/6/2014 12:45:00 PM", "dd/MM/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 

試過以上但它不起作用。錯誤 - 字符串未被識別爲有效的日期時間。

+0

[給定DateTime對象,如何獲得字符串格式的ISO 8601日期?](http://stackoverflow.com/questions/114983/given-a-datetime-object-how-do- i-get-a-iso-8601-date-in-string-format) – Tanner

+0

原始值是一個字符串還是已經是日期時間? – Steve

回答

0

它不工作,因爲你使用字符串格式無效的字符串

"20/6/2014 12:45:00 PM" 

對於這種類型的字符串,你需要一個格式掩碼像

"dd/M/yyyy hh:mm:ss tt" 

然而,它是如果輸入日期存儲在字符串中,並且想要將其轉換爲有效的DateTime變量,或者您有一個有效的DateTime變量並且希望以特定方式表示格式化日期的字符串,則不太清楚。

對於第一種情況

string validDate = "20/6/2014 12:45:00 PM"; 
DateTime t = DateTime.ParseExact(validDate, "dd/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 

對於第二種情況

DateTime d = new DateTime(2014, 6, 20, 12, 45, 0); 
string validDate = d.ToString("yyyy-MM-dd h:mm:ss.fff"); 

注意但是,如果你想使用這個值通過INSERT/UPDATE查詢來設置你的數據庫中的字段您不應該傳遞字符串,而是使用傳遞正確數據類型參數的參數化查詢。

1
string MysqlDateFormat = date.ToString("yyyy-MM-dd HH:mm:ss"); 

這裏就是你需要

+0

Date是DateTime對象嗎? – user3543512

0
string date=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); 

使用這一點,將返回當前日期和時間,並根據您的格式轉換。