0
有沒有一種方法可以將UTC或Moment JS對象或Date()
對象的類型/格式或包含datetime
的純字符串的傳入變量檢測/轉換爲Moment JS對象的常見格式?要將任何類型的javascript datetime變量轉換爲JS對象時刻
例子:
"1509760983",
Date 2017-10-10T02:20:10.570Z,
Object { _isAMomentObject: true, _isUTC: false, _locale: Object, _d: Date 2017-11-04T02:17:33.747Z, _z: null },
"Sat, 04 Nov 2017 02:03:03 GMT",
"2017-11-04T02:20:14.896Z"
我劈:
var offset = moment().utcOffset();
momentObj = moment(variable).utcOffset(offset);
我能夠把所有其他格式瞬間JS轉換沒有在數據中的任何「偏差」,但如果變量已經是Date()
對象。
var offset = moment().utcOffset();
momentObj = (variable instanceof Date) ? moment(variable) : moment(variable).utcOffset(offset);
注:由於Date()
對象只能在瀏覽器中生成的,所以沒有必要添加偏移時間轉換爲本地時區。
是否有更好的(故障安全)方法來解決此問題?
看一看['moment.utc()'](http://momentjs.com/docs/#/parsing/utc/):_By默認情況下,時刻解析並在本地時間顯示。如果你想解析或顯示UTC的時刻,你可以使用'moment.utc()'而不是'moment()'_ – VincenzoC
@VincenzoC req。是在本地時間顯示所有輸入的'datetime',不管它們在什麼時間格式。這就是添加偏移量的原因。 – Mikki
我不完全得到你正在嘗試做的,你可以提供一個片斷或小提琴和您預期的結果的例子嗎?無論如何看看['local()'](http://momentjs.com/docs/#/manipulating/local/)函數將矩對象轉換爲本地模式(默認)。請參閱[本地vs UTC與偏移量](http://momentjs.com/guides/#/parsing/local-utc-zone/)指南。 – VincenzoC