Zaman Damgası İşlevleri
| Ad | Açıklama |
CURRENT_TIMESTAMP
|
İstek zamanına karşılık gelen bir TIMESTAMP oluşturur.
|
TIMESTAMP_TRUNC
|
Bir TIMESTAMP değerini belirli bir ayrıntı düzeyine göre kısaltır.
|
UNIX_MICROS_TO_TIMESTAMP
|
1970-01-01 00:00:00 UTC tarihinden itibaren geçen mikro saniye sayısını TIMESTAMP biçimine dönüştürür.
|
UNIX_MILLIS_TO_TIMESTAMP
|
1970-01-01 00:00:00 UTC tarihinden itibaren geçen milisaniye sayısını TIMESTAMP biçimine dönüştürür.
|
UNIX_SECONDS_TO_TIMESTAMP
|
1970-01-01 00:00:00 UTC tarihinden itibaren geçen saniye sayısını TIMESTAMP biçimine dönüştürür.
|
TIMESTAMP_ADD
|
TIMESTAMP tarihine zaman aralığı ekler.
|
TIMESTAMP_SUB
|
TIMESTAMP tarihinden bir zaman aralığını çıkarır.
|
TIMESTAMP_TO_UNIX_MICROS
|
TIMESTAMP değerini, 1970-01-01 00:00:00 UTC tarihinden itibaren geçen mikro saniye sayısına dönüştürür.
|
TIMESTAMP_TO_UNIX_MILLIS
|
TIMESTAMP değerini, 1970-01-01 00:00:00 UTC tarihinden beri geçen milisaniye sayısına dönüştürür.
|
TIMESTAMP_TO_UNIX_SECONDS
|
TIMESTAMP değerini, 1970-01-01 00:00:00 UTC tarihinden itibaren geçen saniye sayısına dönüştürür.
|
CURRENT_TIMESTAMP
Söz dizimi:
current_timestamp() -> TIMESTAMP
Açıklama:
İstek zamanının başlangıcındaki zaman damgasını alır input (1970-01-01 00:00:00 UTC tarihinden itibaren geçen mikrosaniye sayısı olarak yorumlanır).
Bu işlev, bir sorgu içinde sabittir ve birden çok kez çağrılırsa her zaman aynı değere çözümlenir.
TIMESTAMP_TRUNC
Söz dizimi:
timestamp_trunc(timestamp: TIMESTAMP, granularity: STRING[, timezone: STRING]) -> TIMESTAMP
Açıklama:
Zaman damgasını belirli bir ayrıntı düzeyine göre kısaltır.
granularity bağımsız değişkeni bir dize olmalı ve aşağıdakilerden biri olmalıdır:
microsecondmillisecondsecondminutehourdayweekweek([weekday])monthquarteryearisoyear
timezone bağımsız değişkeni sağlanırsa kesme, belirtilen saat diliminin takvim sınırlarına göre yapılır (ör. gün kesmesi, belirtilen saat diliminde gece yarısına kadar keser). Kısaltma, yaz saati uygulamasına göre yapılır.
timezone belirtilmezse kısaltma işlemi UTC takvim sınırlarına göre yapılır.
timezone bağımsız değişkeni, tz veritabanındaki bir saat diliminin dize gösterimi olmalıdır (ör. America/New_York). GMT değerinden bir fark belirterek özel bir zaman farkı da kullanılabilir.
Örnekler:
timestamp |
granularity |
timezone |
timestamp_trunc(timestamp, granularity, timezone) |
|---|---|---|---|
| 2000-01-01 10:20:30:123456 UTC | "second" | Belirtilmedi | 2001-01-01 10:20:30 UTC |
| 1997-05-31 04:30:30 UTC | "day" | Belirtilmedi | 1997-05-31 00:00:00 UTC |
| 1997-05-31 04:30:30 UTC | "day" | "America/Los_Angeles" | 1997-05-30 07:00:00 UTC |
| 2001-03-16 04:00:00 UTC | "week(friday) | Belirtilmedi | 2001-03-16 00:00:00 UTC |
| 2001-03-23 04:00:00 UTC | "week(friday) | "America/Los_Angeles" | 2001-03-23 17:00:00 UTC |
| 2026-01-24 20:00:00 UTC | "month" | "GMT+06:32:43" | 2026-01-01T06:32:43 UTC |
UNIX_MICROS_TO_TIMESTAMP
Söz dizimi:
unix_micros_to_timestamp(input: INT64) -> TIMESTAMP
Açıklama:
input değerini (1970-01-01 00:00:00 UTC tarihinden itibaren geçen mikro saniye sayısı olarak yorumlanır) TIMESTAMP değerine dönüştürür. input, geçerli bir TIMESTAMP değerine dönüştürülemezse error oluşturur.
Örnekler:
input |
unix_micros_to_timestamp(input) |
|---|---|
| 0L | 1970-01-01 00:00:00 UTC |
| 400123456L | 1970-01-01 00:06:40.123456 UTC |
| -1000000L | 1969-12-31 23:59:59 UTC |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtMicros").unixMicrosToTimestamp().as("createdAtString") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("createdAtMicros").unixMicrosToTimestamp().as("createdAtString") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("createdAtMicros").unixMicrosToTimestamp().alias("createdAtString") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("createdAtMicros").unixMicrosToTimestamp().alias("createdAtString") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("createdAtMicros") .unix_micros_to_timestamp() .as_("createdAtString") ) .execute() )
UNIX_MILLIS_TO_TIMESTAMP
Söz dizimi:
unix_millis_to_timestamp(input: INT64) -> TIMESTAMP
Açıklama:
input değerini (1970-01-01 00:00:00 UTC tarihinden itibaren geçen milisaniye sayısı olarak yorumlanır) TIMESTAMP değerine dönüştürür. input, geçerli bir TIMESTAMP değerine dönüştürülemezse error oluşturur.
Örnekler:
input |
unix_millis_to_timestamp(input) |
|---|---|
| 0L | 1970-01-01 00:00:00 UTC |
| 4000123L | 1970-01-01 01:06:40.123 UTC |
| -1000000L | 1969-12-31 23:43:20 UTC |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtMillis").unixMillisToTimestamp().as("createdAtString") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("createdAtMillis").unixMillisToTimestamp().as("createdAtString") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("createdAtMillis").unixMillisToTimestamp().alias("createdAtString") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("createdAtMillis").unixMillisToTimestamp().alias("createdAtString") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("createdAtMillis") .unix_millis_to_timestamp() .as_("createdAtString") ) .execute() )
UNIX_SECONDS_TO_TIMESTAMP
Söz dizimi:
unix_seconds_to_timestamp(input: INT64) -> TIMESTAMP
Açıklama:
input değerini (1970-01-01 00:00:00 UTC tarihinden itibaren geçen saniye sayısı olarak yorumlanır) TIMESTAMP değerine dönüştürür. input, geçerli bir TIMESTAMP değerine dönüştürülemezse error oluşturur.
Örnekler:
input |
unix_seconds_to_timestamp(input) |
|---|---|
| 0L | 1970-01-01 00:00:00 UTC |
| 60L | 1970-01-01 00:01:00 UTC |
| -300L | 1969-12-31 23:55:00 UTC |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtSeconds").unixSecondsToTimestamp().as("createdAtString") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("createdAtSeconds").unixSecondsToTimestamp().as("createdAtString") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("createdAtSeconds").unixSecondsToTimestamp().alias("createdAtString") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("createdAtSeconds").unixSecondsToTimestamp().alias("createdAtString") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("createdAtSeconds") .unix_seconds_to_timestamp() .as_("createdAtString") ) .execute() )
TIMESTAMP_ADD
Söz dizimi:
timestamp_add(timestamp: TIMESTAMP, unit: STRING, amount: INT64) -> TIMESTAMP
Açıklama:
timestamp hizmetinden unit amount ekler. amount bağımsız değişkeni negatif olabilir. Bu durumda TIMESTAMP_SUB ile eşdeğerdir.
unit bağımsız değişkeni bir dize olmalı ve aşağıdakilerden biri olmalıdır:
microsecondmillisecondsecondminutehourday
Elde edilen zaman damgası TIMESTAMP aralığına uymuyorsa hata verir.
Örnekler:
timestamp |
unit |
amount |
timestamp_add(timestamp, unit, amount) |
|---|---|---|---|
| 2025-02-20 00:00:00 UTC | "minute" (dakika) | 2L | 2025-02-20 00:02:00 UTC |
| 2025-02-20 00:00:00 UTC | "hour" | -4L | 2025-02-19 20:00:00 UTC |
| 2025-02-20 00:00:00 UTC | "day" | 5L | 2025-02-25 00:00:00 UTC |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAt").timestampAdd("day", 3653).as("expiresAt") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("createdAt").timestampAdd(3653, .day).as("expiresAt") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("createdAt") .timestampAdd("day", 3653) .alias("expiresAt") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("createdAt").timestampAdd("day", 3653).alias("expiresAt") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select(Field.of("createdAt").timestamp_add("day", 3653).as_("expiresAt")) .execute() )
TIMESTAMP_SUB
Söz dizimi:
timestamp_sub(timestamp: TIMESTAMP, unit: STRING, amount: INT64) -> TIMESTAMP
Açıklama:
amount, timestamp değerinden unit çıkarılır. amount bağımsız değişkeni negatif olabilir. Bu durumda TIMESTAMP_ADD ile eşdeğerdir.
unit bağımsız değişkeni bir dize olmalı ve aşağıdakilerden biri olmalıdır:
microsecondmillisecondsecondminutehourday
Elde edilen zaman damgası TIMESTAMP aralığına uymuyorsa hata verir.
Örnekler:
timestamp |
unit |
amount |
timestamp_sub(timestamp, unit, amount) |
|---|---|---|---|
| 2026-07-04 00:00:00 UTC | "minute" (dakika) | 40L | 2026-07-03 23:20:00 UTC |
| 2026-07-04 00:00:00 UTC | "hour" | -24L | 2026-07-05 00:00:00 UTC |
| 2026-07-04 00:00:00 UTC | "day" | 3L | 2026-07-01 00:00:00 UTC |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("expiresAt").timestampSubtract("day", 14).as("sendWarningTimestamp") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("expiresAt").timestampSubtract(14, .day).as("sendWarningTimestamp") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("expiresAt") .timestampSubtract("day", 14) .alias("sendWarningTimestamp") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("expiresAt").timestampSubtract("day", 14).alias("sendWarningTimestamp") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select( Field.of("expiresAt") .timestamp_subtract("day", 14) .as_("sendWarningTimestamp") ) .execute() )
TIMESTAMP_TO_UNIX_MICROS
Söz dizimi:
timestamp_to_unix_micros(input: TIMESTAMP) -> INT64
Açıklama:
input değerini, 1970-01-01 00:00:00 UTC tarihinden itibaren geçen mikro saniye sayısına dönüştürür. Mikrosaniyenin başına yuvarlayarak daha yüksek hassasiyet düzeylerini keser.
Örnekler:
input |
timestamp_to_unix_micros(input) |
|---|---|
| 1970-01-01 00:00:00 UTC | 0L |
| 1970-01-01 00:06:40.123456 UTC | 400123456L |
| 1969-12-31 23:59:59 UTC | -1000000L |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMicros().as("unixMicros") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("dateString").timestampToUnixMicros().as("unixMicros") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMicros().alias("unixMicros") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMicros().alias("unixMicros") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select(Field.of("dateString").timestamp_to_unix_micros().as_("unixMicros")) .execute() )
TIMESTAMP_TO_UNIX_MILLIS
Söz dizimi:
timestamp_to_unix_millis(input: TIMESTAMP) -> INT64
Açıklama:
input değerini, 1970-01-01 00:00:00 UTC tarihinden bu yana geçen milisaniye sayısına dönüştürür. Milisaniyenin başına yuvarlayarak daha yüksek hassasiyet seviyelerini keser.
Örnekler:
input |
timestamp_to_unix_millis(input) |
|---|---|
| 1970-01-01 00:00:00 UTC | 0L |
| 1970-01-01 01:06:40.123 UTC | 4000123L |
| 1969-12-31 23:43:20 | -1000000L |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMillis().as("unixMillis") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("dateString").timestampToUnixMillis().as("unixMillis") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMillis().alias("unixMillis") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMillis().alias("unixMillis") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select(Field.of("dateString").timestamp_to_unix_millis().as_("unixMillis")) .execute() )
TIMESTAMP_TO_UNIX_SECONDS
Söz dizimi:
timestamp_to_unix_seconds(input: TIMESTAMP) -> INT64
Açıklama:
input değerini 1970-01-01 00:00:00 UTC tarihinden itibaren geçen saniye sayısına dönüştürür. Saniyelerin başına yuvarlayarak daha yüksek hassasiyet düzeylerini kısaltır.
Örnekler:
input |
timestamp_to_unix_seconds(input) |
|---|---|
| 1970-01-01 00:00:00 UTC | 0L |
| 1970-01-01 00:01:00 UTC | 60L |
| 1969-12-31 23:55:00 UTC | -300L |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixSeconds().as("unixSeconds") ) );
Swift
let result = try await db.pipeline() .collection("documents") .select([ Field("dateString").timestampToUnixSeconds().as("unixSeconds") ]) .execute()
Kotlin
val result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixSeconds().alias("unixSeconds") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixSeconds().alias("unixSeconds") ) .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("documents") .select(Field.of("dateString").timestamp_to_unix_seconds().as_("unixSeconds")) .execute() )