如何从时刻对象获得时区偏移?

sna*_*ggs 13 javascript node.js momentjs

我将moment对象定义为:

var moment = require('moment');

moment('2015-12-20T12:00:00+02:00');
Run Code Online (Sandbox Code Playgroud)

当我打印它时,我得到:

_d: Sun Dec 20 2015 12:00:00 GMT+0200 (EET)
_f: "YYYY-MM-DDTHH:mm:ssZ"
_i: "2015-12-20T12:00:00+02:00"
_isAMomentObject: true
_isUTC: false
_locale: r
_pf: Object
_tzm: 120
Run Code Online (Sandbox Code Playgroud)

如何以正确的方式获取_tzm?(假设其以分钟为单位的偏移量)

谢谢,

ade*_*neo 23

只需像访问任何对象一样访问该属性

var result = moment('2015-12-20T12:00:00+02:00');


document.body.innerHTML = result._tzm;
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

另一种选择是解析日期并获得区域

moment.parseZone('2015-12-20T12:00:00+02:00').utcOffset(); // 120
// or
moment().utcOffset('2015-12-20T12:00:00+02:00')._offset; // 120
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要 **angular** 的“date”管道的偏移量,您可以使用“momentObject.format('Z')”,它返回例如 -08:00 (7认同)