2016-05-31 5 views
6

Я пытаюсь использовать момент-часовой пояс в своем классе. Это мои типизации.Как использовать момент-часовой пояс в Angular 2 class?

"moment": "github:DefinitelyTyped/DefinitelyTyped/moment/moment.d.ts#a1575b96ec38e916750629839d2110cb96210f89", 
"moment-timezone": "github:DefinitelyTyped/DefinitelyTyped/moment-timezone/moment-timezone.d.ts#f8a90040348e83926f44e690b209769c4f88b961" 

Мой импорт:

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

Мое использование:

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

Моя ошибка:

Property 'tz' does not exist on type 'Moment'. 
+0

момент-часовой пояс. Я хочу использовать функцию tz(). – user6403541

ответ

2

Я была такая же проблема и решена так:

типизации (ambientDependencies):

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

Импорт:

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

Использование:

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

Так, в основном я делаю функцию .tz() на момент импортирован объекта (который на самом деле не существует), но импорт момента-времени расширяет его с помощью дополнительных функций.

Я также использую systemjs-plugin-json для правильной загрузки объекта json с определениями часового пояса в библиотеке времени и времени.

Надеюсь, это поможет.

3

Использование Typescript @types пакетов и импортировать его с помощью import * as moment from 'moment-timezone'; Вы можете использовать все moment методы и член вары в moment-timezone экспортирует их.

У меня есть полный пример использования SystemJS на How to use moment-timezone in Angular2 via SystemJs

6

Пожалуйста, попробуйте этот код:

import * as moment from 'moment-timezone'; 

    export class Page1 { 

    public setdate = moment(); // today date 
    constructor(){ 
     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')); 
    } 
    }