How to use timezone offset in Nodejs?

前端 未结 5 911
迷失自我
迷失自我 2020-11-27 17:26

I need the next flow:

var a = new Date(1337324400000, \'Europe/Amsterdam\'); //+2h
console.log(a); // for example 12:00 Mon ...
a.setTimeZone(\'Europe/Kiev\'         


        
相关标签:
5条回答
  • 2020-11-27 17:27

    Moment.js now has Moment Timezone

    Install:

    npm install --save moment-timezone
    

    Use:

    var Moment = require('moment-timezone');
    Moment().tz('America/Los_Angeles').format();
    
    0 讨论(0)
  • 2020-11-27 17:37

    You can use node-time, as follows:

    var time = require('time');
    
    var a = new time.Date(1337324400000);
    
    a.setTimezone('Europe/Amsterdam');
    console.log(a.toString()); // Fri May 18 2012 09:00:00 GMT+0200 (CEST)
    a.setTimezone('Europe/Kiev');
    console.log(a.toString()); // Fri May 18 2012 10:00:00 GMT+0300 (EEST)
    
    0 讨论(0)
  • 2020-11-27 17:42

    UPDATE: there is another one now:) https://github.com/mde/timezone-js

    A timezone-enabled, drop-in replacement for the stock JavaScript Date. The timezoneJS.Date object is API-compatible with JS Date, with the same getter and setter methods -- it should work fine in any code that works with normal JavaScript Dates.


    no there is not

    But you can use moment.js to make it easier http://momentjs.com/docs/

    You still need to know each offset so you will need mapping like {"Europe/Amsterdam":2,"Europe/Kiev":3}

    0 讨论(0)
  • 2020-11-27 17:47

    See Timezone package in npm. It has everything needed built in and is pure JS and seems to be the best timezone handling library available.

    https://www.npmjs.com/package/timezone

    http://bigeasy.github.io/timezone/

    var tz = require('timezone/loaded'),
        equal = require('assert').equal,
        utc;
    
    // Get POSIX time in UTC. 
    utc = tz('2012-01-01');
    
    // Convert UTC time to local time in a localize language. 
    equal(tz(utc, '%c', 'fr_FR', 'America/Montreal'),
          'sam. 31 déc. 2011 19:00:00 EST');
    
    • Timezone is a MicroJS library in pure JavaScript with no dependencies that provides timezone aware date math and date formatting.
    • Timezone uses the IANA Database to determine the correct wall clock time anywhere in the world for any time since the dawn of standardized time.
    • Timezone formats dates with a full implementation of strftime formats, including the GNU date extensions.
    • Timezone represents time in POSIX time and local time using RFC 3999 date strings.
    • Timezone is a full featured standards based time library in pure JavaScript for under 3K minified and gzipped.
    0 讨论(0)
  • 2020-11-27 17:48

    Use moment-timezone.js it's a best option to parse, validate & change times over different timezones.

    0 讨论(0)
提交回复
热议问题