Skip to content Skip to sidebar Skip to footer

How To Use Moment-timezone In Angular 2 Class?

I am trying to use moment-timezone in my class. This is my typings. 'moment': 'github:DefinitelyTyped/DefinitelyTyped/moment/moment.d.ts#a1575b96ec38e916750629839d2110cb96210f89',

Solution 1:

Use Typescript @types packages and import it via import * as moment from 'moment-timezone'; You can use all moment methods and member vars as moment-timezone exports them.

I have a complete example using SystemJS at How to use moment-timezone in Angular2 via SystemJs

Solution 2:

Please try this code:

import * as moment from'moment-timezone';

   exportclassPage1 {  

     public setdate = moment(); // today dateconstructor(){
       this.setdate.tz("Asia/Singapore").format('YYYY-MM-DD HH:mm:ss');
       console.log(this.setdate.tz("Asia/Singapore").format('YYYY-MM-DD HH:mm:ss'));
     }
   }

Solution 3:

I had the same issue and solved it this way:

Typings (ambientDependencies):

"moment":"registry:dt/moment#2.8.0+20160316155526","moment-timezone":"github:DefinitelyTyped/DefinitelyTyped/moment-timezone/moment-timezone.d.ts#f8a90040348e83926f44e690b209769c4f88b961"

Import:

import * as moment from'moment';
import'moment-timezone'

Usage:

moment("2014-06-01T12:00:00Z")
  .tz('America/Los_Angeles')
  .format('ha z');

So, basically I'm doing .tz() function on moment imported object (which in fact does not exist), but the import of moment-timezone extends it with additional functions.

I'm also using systemjs-plugin-json to properly load json object with timezone definitions inside moment-timezone library.

I hope this helps.

Solution 4:

I will update this for 2020.

$ npm install moment-timezone @types/moment-timezone

import moment from'moment-timezone';

...

// do this - outside of any class is fine    
moment.tz.add('America/Los_Angeles|PST PDT|80 70|01010101010|1Lzm0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0');


...

someMethod() {
    const m = moment(the_date);
    ...
    const mFormatted = m.tz('America/Los_Angeles').format('YYYY-MM-DDTHH:mm:ssZZ');
}

Timezone defs can be found at https://github.com/moment/moment-timezone/blob/develop/data/packed/latest.json. I use this to define my own rather than read them all in.

Post a Comment for "How To Use Moment-timezone In Angular 2 Class?"