簡體   English   中英

將時刻 UTC 轉換為本地日期時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM