最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Subtract 1 day from date in different timezone using moment.js and moment-timezone.js - Stack Overflow

programmeradmin0浏览0评论

I want to subtract 1 day from the time now in a different timezone. The moment.js docs say to use referenceTime as the time to subtract one day from. The code below prints the current time in Los Angeles (first) and then the the time 1 day ago from today in the timezone I am currently in (second), I want it to print the time 1 day ago from the timezone in Los Angeles.

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); 

I want to subtract 1 day from the time now in a different timezone. The moment.js docs say to use referenceTime as the time to subtract one day from. The code below prints the current time in Los Angeles (first) and then the the time 1 day ago from today in the timezone I am currently in (second), I want it to print the time 1 day ago from the timezone in Los Angeles.

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); 
Share Improve this question asked Nov 21, 2014 at 0:24 jacob30jacob30 1511 gold badge3 silver badges11 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 2

It doesn't matter, it operates on UTC and converts afterwards.

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());
发布评论

评论列表(0)

  1. 暂无评论