Timestamp
代表與任何時區或日曆無關的時間點,以世界標準時間 Epoch 紀元時間的奈秒為單位,以奈秒為單位的秒數及小數點表示秒數。
我們使用 Proleptic Gregorian 日曆進行編碼,該日曆將公曆的延伸至第一年。這個編碼會假設所有分鐘數都為 60 秒 (也就是閏秒為「smeared」) 進行編碼。這樣解讀時就不需閏秒錶格。範圍是 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59.99999999Z。
如要查看範例和進一步規格,請參閱時間戳記定義。
簽名:
export declare class Timestamp
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(建構函式)(秒, 奈秒) | 建立新的時間戳記。 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
奈秒 | 數字 | 以奈秒解析度完成的秒值*。 | |
秒 | 數字 | 自 Unix 紀元 1970-01-01T00:00:00Z 起,世界標準時間的秒數。 |
方法
方法 | 修飾符 | 說明 |
---|---|---|
fromDate(日期) | static |
從指定日期建立新的時間戳記。 |
fromMillis(毫秒) | static |
以指定的毫秒數建立新的時間戳記。 |
isEqual(其他) | 如果這個 Timestamp 等於提供的值,則傳回 true。 |
|
now() | static |
以目前日期 (精確度為毫秒) 建立新的時間戳記。 |
toDate() | 將 Timestamp 轉換為 JavaScript Date 物件。Date 物件僅支援毫秒精確度,因此這種轉換會導致精確度下降。 |
|
toJSON() | 傳回此 Timestamp 的 JSON 可序列化表示法。 |
|
toMillis() | 將 Timestamp 轉換為數字時間戳記 (以 Epoch 紀元時間起算的毫秒數為單位)。此運算會導致精確度降低。 |
|
toString() | 傳回此 Timestamp 的文字表示法。 |
|
valueOf() | 將此物件轉換為原始字串,以便使用 > 、<= 、>= 和 > 運算子比較 Timestamp 物件。 |
時間戳記 (建構函式)
建立新的時間戳記。
簽名:
constructor(
seconds: number,
nanoseconds: number);
參數
參數 | 類型 | 說明 |
---|---|---|
秒 | 數字 | 自 Unix 紀元 1970-01-01T00:00:00Z 起,世界標準時間的秒數。必須介於 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z (含) 之間。 |
奈秒 | 數字 | 秒解析度中的非負數分數。含分數的負第二個值仍須包含向前計算的非負奈秒值。必須介於 0 至 999,999,999 (含) 之間。 |
時間戳記.nanoseconds
以奈秒解析度完成的秒值*。
簽名:
readonly nanoseconds: number;
時間戳記.秒
自 Unix 紀元 1970-01-01T00:00:00Z 起,世界標準時間的秒數。
簽名:
readonly seconds: number;
Timestamp.fromDate()
從指定日期建立新的時間戳記。
簽名:
static fromDate(date: Date): Timestamp;
參數
參數 | 類型 | 說明 |
---|---|---|
日期 | 日期 | 初始化 Timestamp 的日期。 |
傳回:
新的 Timestamp
,代表與指定日期相同的時間點。
Timestamp.fromMillis()
以指定的毫秒數建立新的時間戳記。
簽名:
static fromMillis(milliseconds: number): Timestamp;
參數
參數 | 類型 | 說明 |
---|---|---|
毫秒 | 數字 | 自 Unix 紀元 1970-01-01T00:00:00Z 算起的毫秒數。 |
傳回:
新的 Timestamp
,代表與指定毫秒數相同的時間點。
Timestamp.isEqual()
如果這個 Timestamp
等於提供的值,則傳回 true。
簽名:
isEqual(other: Timestamp): boolean;
參數
參數 | 類型 | 說明 |
---|---|---|
其他 | 時間戳記 | 要用於比較的 Timestamp 。 |
傳回:
布林值
如果 Timestamp
等於提供的值,則為 true。
時間戳記.now()
以目前日期 (精確度為毫秒) 建立新的時間戳記。
簽名:
static now(): Timestamp;
傳回:
代表目前日期的新時間戳記。
Timestamp.toDate()
將 Timestamp
轉換為 JavaScript Date
物件。Date
物件僅支援毫秒精確度,因此這種轉換會導致精確度下降。
簽名:
toDate(): Date;
傳回:
日期
JavaScript Date
物件代表與這個 Timestamp
相同的時間點,精確度高達毫秒。
Timestamp.toJSON()
傳回此 Timestamp
的 JSON 可序列化表示法。
簽名:
toJSON(): {
seconds: number;
nanoseconds: number;
};
傳回:
{ seconds: 數字;奈秒:數字;}
Timestamp.toMillis()
將 Timestamp
轉換為數字時間戳記 (以 Epoch 紀元時間起算的毫秒數為單位)。此運算會導致精確度降低。
簽名:
toMillis(): number;
傳回:
數字
與此時間戳記對應的時間點,以自 Unix 紀元 1970-01-01T00:00:00Z 起的毫秒數表示。
Timestamp.toString()
傳回此 Timestamp
的文字表示法。
簽名:
toString(): string;
傳回:
字串
Timestamp.valueOf()
將此物件轉換為原始字串,以便使用 >
、<=
、>=
和 >
運算子比較 Timestamp
物件。
簽名:
valueOf(): string;
傳回:
字串