2014-03-27 29 views
0

我有一個具有日期時間屬性的Person類。 Person類型的對象作爲oData響應發回。答案是json。如何在不轉換爲字符串的情況下設置DateTime格式

"FirstName": "Tim", 
"LastName": "Sam", 
"EmailID": "[email protected]", 
"CompanyName": null, 
"CreatedDate": "2014-03-18T19:24:30.847" 

很多web上的幫助都建議使用ToString並指定格式。 如何以mm/dd/yyyy的形式設置日期而不訴諸到字符串的更改,以便在json中看到相同的內容?

問候。

+0

你的問題根本不清楚。你有什麼投入和你期望的產出? JSON有什麼問題? – Luaan

回答

0

如何設置爲mm/dd/yyyy的日期,而不訴諸更改 串

的日期傳中JSON是一個字符串,所以你可以把它作爲一個字符串。日期存儲在數字中,沒有格式的數據對象格式只是一種表示形式。 mm的月份爲MM

string strDateForJson = dateTimeObject.ToString("MM/dd/yyyy"); 

在內部,所有日期時間值被表示爲蜱 的數量,因爲 12:00:00午夜後已經過的(100毫微秒的時間間隔的數量),1月1日,0001實際日期時間值爲 ,與在 用戶界面元素中顯示或在寫入文件時顯示該值的方式無關。 DateTime值的出現是格式化操作的結果。格式是 將值轉換爲其字符串表示的過程,MSDN

0

「如何設置爲mm/dd/yyyy的日期,而不訴諸更改 字符串」

你不能做到這一點。 A DateTime value是時間點的數字表示,它不包含有關格式的任何信息。

當您將其轉換爲字符串以顯示它時,會決定格式。如果您沒有將其轉換爲特定格式,則使用默認格式,這取決於轉換完成時代碼的區域性設置。

此外,JSON標準根本沒有任何日期類型,因此實際上不能將DateTime值置於JSON字符串中。無論您需要使用非標準解決方案,還是將DateTime值轉換爲其他類型。

0

你不能。 A DateTimeDateTime,就是這樣。

如果您想將其表示爲別的東西,您必須將其轉換爲其他東西 - 比如說一個字符串。這就是爲什麼轉換爲特定格式的字符串是建議的答案。

所以雖然它可能不是你希望的答案,你的解決方案基本上是一樣的東西:

yourDate.ToString("MM/dd/yyyy"); 
0

爲了防止自己在將來的問題我會考慮使用的接口string代替DateTime(例如格式是mm/dd/yyyy)。在客戶端和服務器端,您可以將其轉換爲您需要的任何格式。

相關問題