টাইমস্ট্যাম্প ফাংশন
| নাম | বিবরণ |
CURRENT_TIMESTAMP | অনুরোধের সময়ের সাথে সম্পর্কিত একটি TIMESTAMP তৈরি করে। |
TIMESTAMP_TRUNC | একটি TIMESTAMP একটি প্রদত্ত গ্র্যানুলারিটিতে ছোট করে। |
UNIX_MICROS_TO_TIMESTAMP | 1970-01-01 00:00:00 UTC থেকে মাইক্রোসেকেন্ডের সংখ্যাকে TIMESTAMP তে রূপান্তর করে |
UNIX_MILLIS_TO_TIMESTAMP | 1970-01-01 00:00:00 UTC থেকে মিলিসেকেন্ডের সংখ্যাকে TIMESTAMP তে রূপান্তর করে |
UNIX_SECONDS_TO_TIMESTAMP | 1970-01-01 00:00:00 UTC থেকে সেকেন্ডের সংখ্যাকে TIMESTAMP তে রূপান্তর করে |
TIMESTAMP_ADD | TIMESTAMP তে একটি সময়ের ব্যবধান যোগ করে |
TIMESTAMP_SUB | একটি TIMESTAMP একটি সময়ের ব্যবধান বিয়োগ করে |
TIMESTAMP_TO_UNIX_MICROS | 1970-01-01 00:00:00 UTC থেকে একটি TIMESTAMP কে মাইক্রোসেকেন্ডের সংখ্যায় রূপান্তর করে |
TIMESTAMP_TO_UNIX_MILLIS | 1970-01-01 00:00:00 UTC থেকে একটি TIMESTAMP কে মিলিসেকেন্ড সংখ্যায় রূপান্তর করে |
TIMESTAMP_TO_UNIX_SECONDS | 1970-01-01 00:00:00 UTC থেকে একটি TIMESTAMP সেকেন্ডের সংখ্যায় রূপান্তর করে |
বর্তমান_টাইমস্ট্যাম্প
বাক্য গঠন:
current_timestamp() -> TIMESTAMP
বর্ণনা:
অনুরোধের সময় input শুরুতে টাইমস্ট্যাম্প পায় ( 1970-01-01 00:00:00 UTC থেকে মাইক্রোসেকেন্ডের সংখ্যা হিসাবে ব্যাখ্যা করা হয়)।
এটি একটি কোয়েরির মধ্যে স্থিতিশীল, এবং একাধিকবার কল করলে সর্বদা একই মানে সমাধান হবে।
টাইমস্ট্যাম্প_ট্রুনসি
বাক্য গঠন:
timestamp_trunc(timestamp: TIMESTAMP, granularity: STRING[, timezone: STRING]) -> TIMESTAMP
বর্ণনা:
একটি টাইমস্ট্যাম্পকে একটি নির্দিষ্ট গ্র্যানুলারিটিতে ছোট করে।
granularity আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:
-
microsecond -
millisecond -
second -
minute -
hour -
day -
week -
week([weekday]) -
month -
quarter -
year -
isoyear
যদি timezone আর্গুমেন্টটি প্রদান করা হয়, তাহলে প্রদত্ত টাইমজোনের ক্যালেন্ডার সীমানার উপর ভিত্তি করে কাটছাঁট করা হবে (যেমন, প্রদত্ত টাইমজোনে দিনের কাটছাঁট মধ্যরাত পর্যন্ত কেটে যাবে)। কাটছাঁট করা ডেলাইট সেভিংস টাইমকে সম্মান করবে।
যদি timezone প্রদান না করা থাকে, তাহলে UTC ক্যালেন্ডার সীমানার উপর ভিত্তি করে কাটছাঁট করা হবে।
timezone আর্গুমেন্টটি tz ডাটাবেস থেকে একটি টাইমজোনের স্ট্রিং উপস্থাপনা হওয়া উচিত, উদাহরণস্বরূপ America/New_York । GMT থেকে একটি অফসেট নির্দিষ্ট করে একটি কাস্টম টাইম অফসেটও ব্যবহার করা যেতে পারে।
উদাহরণ:
timestamp | granularity | timezone | timestamp_trunc(timestamp, granularity, timezone) |
|---|---|---|---|
| ২০০০-০১-০১ ১০:২০:৩০:১২৩৪৫৬ ইউটিসি | "দ্বিতীয়" | প্রদান করা হয়নি | ২০০১-০১-০১ ১০:২০:৩০ ইউটিসি |
| ১৯৯৭-০৫-৩১ ০৪:৩০:৩০ ইউটিসি | "দিন" | প্রদান করা হয়নি | ১৯৯৭-০৫-৩১ ০০:০০:০০ ইউটিসি |
| ১৯৯৭-০৫-৩১ ০৪:৩০:৩০ ইউটিসি | "দিন" | "আমেরিকা/লস_অ্যাঞ্জেলস" | ১৯৯৭-০৫-৩০ ০৭:০০:০০ ইউটিসি |
| ২০০১-০৩-১৬ ০৪:০০:০০ ইউটিসি | "সপ্তাহ (শুক্রবার) | প্রদান করা হয়নি | ২০০১-০৩-১৬ ০০:০০:০০ ইউটিসি |
| ২০০১-০৩-২৩ ০৪:০০:০০ ইউটিসি | "সপ্তাহ (শুক্রবার) | "আমেরিকা/লস_অ্যাঞ্জেলস" | ২০০১-০৩-২৩ ১৭:০০:০০ ইউটিসি |
| ২০২৬-০১-২৪ ২০:০০:০০ ইউটিসি | "মাস" | "GMT+০৬:৩২:৪৩" | ২০২৬-০১-০১T০৬:৩২:৪৩ UTC |
UNIX_MICROS_TO_TIMESTAMP সম্পর্কে
বাক্য গঠন:
unix_micros_to_timestamp(input: INT64) -> TIMESTAMP
বর্ণনা:
input ( 1970-01-01 00:00:00 UTC থেকে মাইক্রোসেকেন্ডের সংখ্যা হিসেবে ব্যাখ্যা করা হয়েছে) TIMESTAMP তে রূপান্তর করে। input একটি বৈধ TIMESTAMP তে রূপান্তর করতে না পারলে একটি error নিক্ষেপ করে।
উদাহরণ:
input | unix_micros_to_timestamp(input) |
|---|---|
| ০ লিটার | ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি |
| 400123456L এর বিবরণ | ১৯৭০-০১-০১ ০০:০৬:৪০.১২৩৪৫৬ ইউটিসি |
| -১০০০০০লিটার | ১৯৬৯-১২-৩১ ২৩:৫৯:৫৯ ইউটিসি |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtMicros").unixMicrosToTimestamp().as("createdAtString") ) );
সুইফট
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();
পাইথন
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(input: INT64) -> TIMESTAMP
বর্ণনা:
input ( 1970-01-01 00:00:00 UTC থেকে মিলিসেকেন্ডের সংখ্যা হিসেবে ব্যাখ্যা করা হয়েছে) TIMESTAMP তে রূপান্তর করে। input একটি বৈধ TIMESTAMP তে রূপান্তর করতে না পারলে একটি error নিক্ষেপ করে।
উদাহরণ:
input | unix_millis_to_timestamp(input) |
|---|---|
| ০ লিটার | ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি |
| 4000123L এর বিবরণ | ১৯৭০-০১-০১ ০১:০৬:৪০.১২৩ ইউটিসি |
| -১০০০০০লিটার | ১৯৬৯-১২-৩১ ২৩:৪৩:২০ ইউটিসি |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtMillis").unixMillisToTimestamp().as("createdAtString") ) );
সুইফট
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();
পাইথন
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
বাক্য গঠন:
unix_seconds_to_timestamp(input: INT64) -> TIMESTAMP
বর্ণনা:
input ( 1970-01-01 00:00:00 UTC থেকে সেকেন্ডের সংখ্যা হিসেবে ব্যাখ্যা করা হয়েছে) TIMESTAMP তে রূপান্তর করে। input বৈধ TIMESTAMP তে রূপান্তর করতে না পারলে একটি error দেখা দেয়।
উদাহরণ:
input | unix_seconds_to_timestamp(input) |
|---|---|
| ০ লিটার | ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি |
| ৬০ লিটার | ১৯৭০-০১-০১ ০০:০১:০০ ইউটিসি |
| -৩০০ লিটার | ১৯৬৯-১২-৩১ ২৩:৫৫:০০ ইউটিসি |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAtSeconds").unixSecondsToTimestamp().as("createdAtString") ) );
সুইফট
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();
পাইথন
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_যোগ করুন
বাক্য গঠন:
timestamp_add(timestamp: TIMESTAMP, unit: STRING, amount: INT64) -> TIMESTAMP
বর্ণনা:
timestamp থেকে একটি amount unit যোগ করে। amount আর্গুমেন্টটি ঋণাত্মক হতে পারে, সেই ক্ষেত্রে এটি TIMESTAMP_SUB এর সমতুল্য।
unit আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:
-
microsecond -
millisecond -
second -
minute -
hour -
day
যদি ফলাফলের টাইমস্ট্যাম্পটি TIMESTAMP পরিসরের মধ্যে না ফিট হয় তবে একটি ত্রুটি নিক্ষেপ করে।
উদাহরণ:
timestamp | unit | amount | timestamp_add(timestamp, unit, amount) |
|---|---|---|---|
| ২০২৫-০২-২০ ০০:০০:০০ ইউটিসি | "মিনিট" | ২ লিটার | ২০২৫-০২-২০ ০০:০২:০০ ইউটিসি |
| ২০২৫-০২-২০ ০০:০০:০০ ইউটিসি | "ঘন্টা" | -৪ লিটার | ২০২৫-০২-১৯ ২০:০০:০০ ইউটিসি |
| ২০২৫-০২-২০ ০০:০০:০০ ইউটিসি | "দিন" | ৫ লিটার | ২০২৫-০২-২৫ ০০:০০:০০ ইউটিসি |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("createdAt").timestampAdd("day", 3653).as("expiresAt") ) );
সুইফট
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();
পাইথন
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
বাক্য গঠন:
timestamp_sub(timestamp: TIMESTAMP, unit: STRING, amount: INT64) -> TIMESTAMP
বর্ণনা:
timestamp থেকে একটি unit amount বিয়োগ করে। amount যুক্তি ঋণাত্মক হতে পারে, সেই ক্ষেত্রে এটি TIMESTAMP_ADD এর সমতুল্য।
unit আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:
-
microsecond -
millisecond -
second -
minute -
hour -
day
যদি ফলাফলের টাইমস্ট্যাম্পটি TIMESTAMP পরিসরের মধ্যে না ফিট হয় তবে একটি ত্রুটি নিক্ষেপ করে।
উদাহরণ:
timestamp | unit | amount | timestamp_sub(timestamp, unit, amount) |
|---|---|---|---|
| ২০২৬-০৭-০৪ ০০:০০:০০ ইউটিসি | "মিনিট" | ৪০ লিটার | ২০২৬-০৭-০৩ ২৩:২০:০০ ইউটিসি |
| ২০২৬-০৭-০৪ ০০:০০:০০ ইউটিসি | "ঘন্টা" | -২৪ লিটার | ২০২৬-০৭-০৫ ০০:০০:০০ ইউটিসি |
| ২০২৬-০৭-০৪ ০০:০০:০০ ইউটিসি | "দিন" | ৩ লিটার | ২০২৬-০৭-০১ ০০:০০:০০ ইউটিসি |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("expiresAt").timestampSubtract("day", 14).as("sendWarningTimestamp") ) );
সুইফট
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();
পাইথন
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(input: TIMESTAMP) -> INT64
বর্ণনা:
1970-01-01 00:00:00 UTC থেকে input মাইক্রোসেকেন্ডের সংখ্যায় রূপান্তর করে। মাইক্রোসেকেন্ডের শুরুতে রাউন্ডডাউন করে উচ্চতর স্তরের নির্ভুলতা ছোট করে।
উদাহরণ:
input | timestamp_to_unix_micros(input) |
|---|---|
| ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি | ০ লিটার |
| ১৯৭০-০১-০১ ০০:০৬:৪০.১২৩৪৫৬ ইউটিসি | 400123456L এর বিবরণ |
| ১৯৬৯-১২-৩১ ২৩:৫৯:৫৯ ইউটিসি | -১০০০০০লিটার |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMicros().as("unixMicros") ) );
সুইফট
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();
পাইথন
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(input: TIMESTAMP) -> INT64
বর্ণনা:
1970-01-01 00:00:00 UTC থেকে input মিলিসেকেন্ডের সংখ্যায় রূপান্তর করে। মিলিসেকেন্ডের শুরুতে রাউন্ডডাউন করে উচ্চতর স্তরের নির্ভুলতা ছোট করে।
উদাহরণ:
input | timestamp_to_unix_millis(input) |
|---|---|
| ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি | ০ লিটার |
| ১৯৭০-০১-০১ ০১:০৬:৪০.১২৩ ইউটিসি | 4000123L এর বিবরণ |
| ১৯৬৯-১২-৩১ ২৩:৪৩:২০ | -১০০০০০লিটার |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixMillis().as("unixMillis") ) );
সুইফট
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();
পাইথন
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(input: TIMESTAMP) -> INT64
বর্ণনা:
1970-01-01 00:00:00 UTC থেকে input সেকেন্ডের সংখ্যায় রূপান্তর করে। সেকেন্ডের শুরুতে রাউন্ডডাউন করে উচ্চতর স্তরের নির্ভুলতা ছোট করে।
উদাহরণ:
input | timestamp_to_unix_seconds(input) |
|---|---|
| ১৯৭০-০১-০১ ০০:০০:০০ ইউটিসি | ০ লিটার |
| ১৯৭০-০১-০১ ০০:০১:০০ ইউটিসি | ৬০ লিটার |
| ১৯৬৯-১২-৩১ ২৩:৫৫:০০ ইউটিসি | -৩০০ লিটার |
Web
const result = await execute(db.pipeline() .collection("documents") .select( field("dateString").timestampToUnixSeconds().as("unixSeconds") ) );
সুইফট
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();
পাইথন
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() )