2016-11-23 93 views
0

我有一個對象,它的一個屬性是DateTime DateofBirth。我得到這個對象,並希望改變用另一種格式轉換DateTime

{1978年8月16日12:00:00 AM}

{16/8/1978 12:00: 00 AM}

DateTime? tmp = externalConsumerProfile.DateOfBirth; 
string s=DateTime.ParseExact(tmp.ToString(), "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy hh:mm:ss tt") ; 

但我有一個錯誤,當嘗試轉換

類型的異常「System.FormatException」出現在mscorlib.dll 但在用戶代碼中沒有處理

更多信息:字符串未被識別爲有效的DateTime。

當我嘗試tmp.ToString("dd/MM/yyyy hh:mm:ss tt") z具有錯誤

的方法ToString

+0

你有一個'DateTime'對象,然後嘗試解析它作爲一個'DateTime'對象 – Jonesopolis

+0

'Parse'一個'string'轉換爲'DateTime'。 'tmp'已經是'DateTime'了,你不需要把它做成一個。只是格式化它。 'var s = tmp.ToString(「MM/dd/yyyy hh:mm:ss tt」);' –

+0

[C#DateTime to「YYYYMMDDHHMMSS」format]可能重複(http://stackoverflow.com/questions/3025361/ c-sharp-datetime-to-yyyymmddhhmmss-format) – Kiogara

回答

3

沒有重載所有你需要做的是格式的日期時間值。你不需要解析它。

DateTime? tmp = externalConsumerProfile.DateOfBirth; 
string s=tmp.HasValue() ? tmp.Value.ToString("dd/MM/yyyy hh:mm:ss tt") : string.Empty; 
+0

方法ToString沒有重載 –

+0

@Евгенийfixed'ToString' 。謝謝! – wdosanjos

+0

非常感謝你! –

相關問題