【问题标题】:Subtract 1 day from date in different timezone using moment.js and moment-timezone.js使用 moment.js 和 moment-timezone.js 从不同时区的日期减去 1 天
【发布时间】:2014-11-21 00:24:51
【问题描述】:

我想从现在在不同时区的时间中减去 1 天。 moment.js docs 说使用 referenceTime 作为减去一天的时间。下面的代码打印洛杉矶的当前时间(第一个),然后是我当前所在时区从今天起 1 天前的时间(第二个),我希望它从洛杉矶的时区打印 1 天前的时间.

require moment = require('moment'),
        moment_tz = require('moment-timezone');

var referenceTime = moment_tz().tz("America/Los_Angeles").format();
console.log(referenceTime);
var referenceTimeMinusOne = moment().subtract(1,'days').calendar(referenceTime);
console.log(referenceTimeMinusOne); 

【问题讨论】:

    标签: javascript datetime momentjs


    【解决方案1】:

    没关系,它在UTC上运行,然后转换。

    moment = require('moment-timezone');
    
    var la = moment().tz("America/Los_Angeles")
    var nl = moment().tz("Europe/Amsterdam")
    
    console.log('now:')
    console.log(la.format());
    console.log(nl.format());
    
    var earlier_la = la.subtract(1,'days')
    var earlier_nl = nl.subtract(1,'days')
    
    console.log('\nearlier:')
    console.log(earlier_la.format());
    console.log(earlier_nl.format());
    
    // Earlier Dutch time converted back to Los Angelos equals 
    // Earlier Los Angelos time
    console.log(earlier_nl.tz('America/Los_Angeles').format());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多