[英]Converting moment UTC to Local date time
我將來自 .net 的 UTC .NET/JSON 日期放在客戶端。 當我運行以下命令時:
moment(value.Planet.when).utc()
從網絡服務返回的日期:
"/Date(1469271646000)/"
我在 _d 參數中得到一個日期,顯示當前准確的 UTC 日期,右側是 GMT+0300。
我想將這個時間轉換為用戶機器上的本地時間,無論我做什么,我總是能把時間退回 3 小時。
我這樣做:
moment(value.Planet.when).local().format('YYYY-MM-DD HH:mm:ss')
我得到與 UTC 相同的日期時間。 我不明白如何讓 momentjs 顯示相對於本地時間的 UTC 時間。 我檢查了 momentjs 對象確實是 UTC。
我想,如果我通過 moment.utc() 函數傳遞我從網絡服務(最初來自數據庫)獲得的 UTC 日期,我可以只運行 local() 函數,我將獲得相對於的准確小時我的區域,但它沒有用。
您可以使用 moment(date).format('YYYY-MM-DDTHH:mm:ss');
例如:- 如果您約會“/Date(1469271646000)/”
ip-> moment(1469271646000).format('YYYY-MM-DDTHH:mm:ss');
op->“2016-07-23T16:30:46”
不要使用_d
屬性。 它僅供內部使用。 請參閱此答案、 用戶指南或Maggie 關於該主題的博客文章。
至於您如何轉換為當地時間的問題,您實際上根本不需要轉換。 您已經在本地模式下解析輸入值,因此您可以直接使用它:
var m = moment("/Date(1469271646000)/"); // gives you a moment object in local mode.
var s = m.format(); // lets you format it as a string. Pass parameters if you like.
var d = m.toDate(); // gives you a Date object if you really need one
盡量避免使用Date
對象,除非您正在使用的某些其他控件或庫需要它們。 大多數操作都可以嚴格地在moment
對象上完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.