2017-08-03 21 views
30

Tarihleri ​​nasıl TypeScript'te ifade ederim? Tarihler TypeScript type değil, any veya object mu kullanıyorsunuz? Böyle basit bir soru olmasına rağmen,Türleri Tarih Tip?

let myDate: any = new Date(); 

Google'da çok bulamadık: yapmak için bir "doğru" yolu var olacak gibi görünüyor.

+2

JS tipleri TS çalışmak:


Tarihi şekilde lib.es6.d.ts bir arabirim gereğidir. – Amy

+1

Arabirimleri ve Sınıfları tür olarak kullanabilirsiniz. –

cevap

41

cevabı son derece basittir, tip Date geçerli:

const d: Date = new Date(); // but the type can also be inferred from "new Date()" already 

Her diğer nesne örneği :)

17

Herhangi sınıf veya arabirim daktilo bir tip olarak kullanılabilir ile aynıdır . Date DateConstructor arayüzü tarafından başvurulan bir iç typescript nesnedir olarak

const date = new Date(); 

zaten date tip tanımı hakkında bilecek.

Ve kullanılan yapıcısı için, bu gibi tanımlanmıştır:

interface DateConstructor { 
    new(): Date; 
    ... 
} 

daha açık hale getirmek için, kullanabilirsiniz:

const date: Date = new Date(); 

Gerçi tip tanımları eksik olabilir Date, ES6 lib'den örneğim için geliyor ve benim tsconfig.json adresinde tanımladım:

Bu ayarları istediğiniz JavaScript sürümünü hedeflemek için uyarlayabilirsiniz.

/** Enables basic storage and retrieval of dates and times. */ 
interface Date { 
    /** Returns a string representation of a date. The format of the string depends on the locale. */ 
    toString(): string; 
    /** Returns a date as a string value. */ 
    toDateString(): string; 
    /** Returns a time as a string value. */ 
    toTimeString(): string; 
    /** Returns a value as a string value appropriate to the host environment's current locale. */ 
    toLocaleString(): string; 
    /** Returns a date as a string value appropriate to the host environment's current locale. */ 
    toLocaleDateString(): string; 
    /** Returns a time as a string value appropriate to the host environment's current locale. */ 
    toLocaleTimeString(): string; 
    /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ 
    valueOf(): number; 
    /** Gets the time value in milliseconds. */ 
    getTime(): number; 
    /** Gets the year, using local time. */ 
    getFullYear(): number; 
    /** Gets the year using Universal Coordinated Time (UTC). */ 
    getUTCFullYear(): number; 
    /** Gets the month, using local time. */ 
    getMonth(): number; 
    /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ 
    getUTCMonth(): number; 
    /** Gets the day-of-the-month, using local time. */ 
    getDate(): number; 
    /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ 
    getUTCDate(): number; 
    /** Gets the day of the week, using local time. */ 
    getDay(): number; 
    /** Gets the day of the week using Universal Coordinated Time (UTC). */ 
    getUTCDay(): number; 
    /** Gets the hours in a date, using local time. */ 
    getHours(): number; 
    /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ 
    getUTCHours(): number; 
    /** Gets the minutes of a Date object, using local time. */ 
    getMinutes(): number; 
    /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ 
    getUTCMinutes(): number; 
    /** Gets the seconds of a Date object, using local time. */ 
    getSeconds(): number; 
    /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ 
    getUTCSeconds(): number; 
    /** Gets the milliseconds of a Date, using local time. */ 
    getMilliseconds(): number; 
    /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ 
    getUTCMilliseconds(): number; 
    /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ 
    getTimezoneOffset(): number; 
    /** 
     * Sets the date and time value in the Date object. 
     * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. 
     */ 
    setTime(time: number): number; 
    /** 
     * Sets the milliseconds value in the Date object using local time. 
     * @param ms A numeric value equal to the millisecond value. 
     */ 
    setMilliseconds(ms: number): number; 
    /** 
     * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). 
     * @param ms A numeric value equal to the millisecond value. 
     */ 
    setUTCMilliseconds(ms: number): number; 

    /** 
     * Sets the seconds value in the Date object using local time. 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setSeconds(sec: number, ms?: number): number; 
    /** 
     * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setUTCSeconds(sec: number, ms?: number): number; 
    /** 
     * Sets the minutes value in the Date object using local time. 
     * @param min A numeric value equal to the minutes value. 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setMinutes(min: number, sec?: number, ms?: number): number; 
    /** 
     * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). 
     * @param min A numeric value equal to the minutes value. 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setUTCMinutes(min: number, sec?: number, ms?: number): number; 
    /** 
     * Sets the hour value in the Date object using local time. 
     * @param hours A numeric value equal to the hours value. 
     * @param min A numeric value equal to the minutes value. 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setHours(hours: number, min?: number, sec?: number, ms?: number): number; 
    /** 
     * Sets the hours value in the Date object using Universal Coordinated Time (UTC). 
     * @param hours A numeric value equal to the hours value. 
     * @param min A numeric value equal to the minutes value. 
     * @param sec A numeric value equal to the seconds value. 
     * @param ms A numeric value equal to the milliseconds value. 
     */ 
    setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; 
    /** 
     * Sets the numeric day-of-the-month value of the Date object using local time. 
     * @param date A numeric value equal to the day of the month. 
     */ 
    setDate(date: number): number; 
    /** 
     * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). 
     * @param date A numeric value equal to the day of the month. 
     */ 
    setUTCDate(date: number): number; 
    /** 
     * Sets the month value in the Date object using local time. 
     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. 
     * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. 
     */ 
    setMonth(month: number, date?: number): number; 
    /** 
     * Sets the month value in the Date object using Universal Coordinated Time (UTC). 
     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. 
     * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. 
     */ 
    setUTCMonth(month: number, date?: number): number; 
    /** 
     * Sets the year of the Date object using local time. 
     * @param year A numeric value for the year. 
     * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. 
     * @param date A numeric value equal for the day of the month. 
     */ 
    setFullYear(year: number, month?: number, date?: number): number; 
    /** 
     * Sets the year value in the Date object using Universal Coordinated Time (UTC). 
     * @param year A numeric value equal to the year. 
     * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. 
     * @param date A numeric value equal to the day of the month. 
     */ 
    setUTCFullYear(year: number, month?: number, date?: number): number; 
    /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ 
    toUTCString(): string; 
    /** Returns a date as a string value in ISO format. */ 
    toISOString(): string; 
    /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ 
    toJSON(key?: any): string; 
}