回答
您正在查看由DataContractJsonSerializer生成的Micoroft日期格式。
下面的例子輸出當前日期,然後從你的例子日期時間:
var ser = new DataContractJsonSerializer(typeof(Example));
var ex = new Example{ MSDate = DateTime.Now};
// write Example to the stream
var ms = new MemoryStream();
ser.WriteObject(ms, ex);
var cnt = Encoding.UTF8.GetString(ms.ToArray());
Debug.WriteLine(cnt); // show wireformat
ms.Position = 0;
var exdes = (Example)ser.ReadObject(ms); // read back
// create our own json stream and deserialize
var somejsonwithdate = @"{""MSDate"":""\/Date(1434013505757-0700)\/""}";
var yourdate = (Example) ser.ReadObject(
new MemoryStream(Encoding.UTF8.GetBytes(somejsonwithdate)));
Debug.WriteLine("{0:yyyy-MM-dd h:mm:ss", yourdate.MSDate);
這裏是DTO類型
public class Example
{
public DateTime MSDate { get; set; }
}
此代碼輸出在我的調試輸出:
{「MSDate」:「/ Date(1435128933854 + 0200)/」}
2015-06-11 11:05:05
從MSDN文章Stand-Alone JSON Serialization
DateTime值顯示爲形式JSON字符串 「/日期(700000 + 0500)/」,其中第一個數字(700000中提供的例子中)是GMT時區中的毫秒數,自1970年1月1日午夜以來的正常(非夏令時)時間。該數字可能爲負數以代表早期時間。示例中由「+0500」組成的部分是可選的,並指示時間爲本地類型,即在反序列化時應轉換爲本地時區。如果它不存在,則將時間反序列化爲Utc。實際數字(本例中爲「0500」)及其符號(+或 - )被忽略。
ASP.NET AJAX客戶端JavaScript代碼自動將這些字符串轉換爲JavaScript DateTime實例。如果有其他字符串具有類似於.NET中類型DateTime的字符串,它們也會被轉換。
只有在轉義字符「/」(即JSON看起來像「/ Date(700000 + 0500)/」)時纔會進行轉換,並且由於此原因WCF的JSON編碼器(由WebHttpBinding啓用)總是轉義「/」字符。
這是(最佳猜測)UNIX Timestamp毫秒的分辨率和時區偏移量。
請參閱here關於如何在兩者之間進行轉換。請記住,該示例基於'Second'分辨率,但您的分辨率爲'MilliSecond'。所以使用AddMilliSeconds。
1434013505757-0700
|<--------->| |--|
Unix TimeZone
TimeStamp Offset
希望你能弄清楚自己的代碼。請注意,時區偏移量以小時爲單位。僅供參考Unix-Timestamp定義爲格林威治自1970年1月1日午夜以來經過的秒數(或毫秒)。
這解釋了這些數字,請參閱[DateTime連線格式](https://msdn.microsoft.com/zh-cn/library/bb412170(v = vs.110) ).aspx)'Date('和額外的斜槓來自 – rene
)你是對的,但也要記住時區偏移量是額外的數據,時間戳是基於UTC的,不管呈現什麼偏移量。與其他格式稍有不同,例如ISO8601,其中提交的時間*已經*已經被該偏移量所調整。在這裏,它沒有。 –
- 1. 日期時間格式C#
- 2. C#日期時間格式
- 3. c#日期/時間格式
- 4. C#日期/時間格式
- 5. C#日期時間格式
- 6. C#日期時間格式
- 7. .NET的日期時間格式
- 8. 隱藏的c#日期時間格式到java日期時間格式
- 9. C#將日期時間轉換爲WCF日期時間格式
- 10. C#中的日期時間格式
- 11. C#中的日期時間格式
- 12. 格式日期C中的時間#
- 13. .net中日期時間字段的時間格式
- 14. Json日期格式爲.net日期時間
- 15. Matplotlib日期時間格式的日期
- 16. 日期時間格式化
- 17. 在C#中格式化日期時間#
- 18. 日期時間選擇器C#格式
- 19. C#日期時間 - RFC 3339格式
- 20. 格式化日期/時間在C#
- 21. 使用c#mysql日期時間格式#
- 22. C#日期時間格式yyyy-MM-dddd
- 23. Solrnet日期時間格式
- 24. .NET日期格式
- 25. 日期,時間日期格式
- 26. 格式化日期時間
- 27. 日期時間格式2008
- 28. PHP - 格式日期/時間
- 29. 格式日期時間
- 30. 日期時間格式yyyymm
試着描述一下這是什麼格式。哪裏是年,日,月...... –
你*知道什麼日期/時間價值是*意味着*代表?如果是這樣,請與我們分享這些信息。如果不是,你將如何評估是否有任何答案是正確的? –
作爲一般規則,程序員有責任知道他的程序輸入的來源和格式。所以你有責任找出格式。數據必須來自某個組織某處的某處。您需要遍歷組織樹直到數據源。在我的exp中。問通常有幫助。就我們而言,我們可以推測。 – inquisitive