টাইমস্ট্যাম্প ফাংশন

টাইমস্ট্যাম্প ফাংশন

নাম বিবরণ
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-কে সেকেন্ডের সংখ্যায় কনভার্ট করে
TIMESTAMP_DIFF দুটি TIMESTAMP-এর মধ্যে নির্দিষ্ট unit ব্যবধানের পূর্ণ সংখ্যা দেখায়।
TIMESTAMP_EXTRACT TIMESTAMP থেকে নির্দিষ্ট part (যেমন, বছর, মাস, দিন) এক্সট্র্যাক্ট করে।

CURRENT_TIMESTAMP

সিনট্যাক্স:

current_timestamp() -> TIMESTAMP

বিবরণ:

অনুরোধের সময় input-এর শুরুতে টাইমস্ট্যাম্প পায় (1970-01-01 00:00:00 UTC থেকে শুরু করে মাইক্রোসেকেন্ডের সংখ্যা হিসেবে ব্যাখ্যা করা হয়)।

এটি একটি কোয়েরির মধ্যে স্থিতিশীল এবং একাধিকবার কল করা হলে সর্বদা একই মান রিজলভ করবে।

TIMESTAMP_TRUNC

সিনট্যাক্স:

timestamp_trunc(timestamp: TIMESTAMP | BSON_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)
2000-01-01 10:20:30:123456 UTC "সেকেন্ড" উল্লেখ নেই ২০০১-০১-০১ ১০:২০:৩০ UTC
১৯৯৭-০৫-৩১ ০৪:৩০:৩০ UTC "দিন" উল্লেখ নেই ১৯৯৭-০৫-৩১ ০০:০০:০০ UTC
১৯৯৭-০৫-৩১ ০৪:৩০:৩০ UTC "দিন" "America/Los_Angeles" ১৯৯৭-০৫-৩০ ০৭:০০:০০ UTC
২০০১-০৩-১৬ ০৪:০০:০০ UTC "week(friday) উল্লেখ নেই ২০০১-০৩-১৬ ০০:০০:০০ UTC
2001-03-23 04:00:00 UTC "week(friday) "America/Los_Angeles" 2001-03-23 17:00:00 UTC
২৪-০১-২০২৬ ২০:০০:০০ UTC "মাস" "GMT+০৬:৩২:৪৩" 2026-01-01T06:32:43 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)
০ লিটার ১৯৭০-০১-০১ ০০:০০:০০ UTC
400123456L ১৯৭০-০১-০১ ০০:০৬:৪০.১২৩৪৫৬ UTC
-১০০০০০০L ১৯৬৯-১২-৩১ ২৩:৫৯:৫৯ UTC
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("createdAtMicros").unixMicrosToTimestamp().as("createdAtString")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(unixMicrosToTimestamp(field("createdAtMicros")).as("createdAtString"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.UnixMicrosToTimestamp(firestore.FieldOf("createdAtMicros")).As("createdAtString"),
	)).
	Execute(ctx)

UNIX_MILLIS_TO_TIMESTAMP

সিনট্যাক্স:

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)
০ লিটার ১৯৭০-০১-০১ ০০:০০:০০ UTC
4000123L ১৯৭০-০১-০১ ০১:০৬:৪০.১২৩ UTC
-১০০০০০০L ১৯৬৯-১২-৩১ ২৩:৪৩:২০ UTC
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("createdAtMillis").unixMillisToTimestamp().as("createdAtString")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(unixMillisToTimestamp(field("createdAtMillis")).as("createdAtString"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.UnixMillisToTimestamp(firestore.FieldOf("createdAtMillis")).As("createdAtString"),
	)).
	Execute(ctx)

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)
০ লিটার ১৯৭০-০১-০১ ০০:০০:০০ UTC
৬০ লিটার ১৯৭০-০১-০১ ০০:০১:০০ UTC
-৩০০ লিটার ১৯৬৯-১২-৩১ ২৩:৫৫:০০ UTC
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("createdAtSeconds").unixSecondsToTimestamp().as("createdAtString")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(unixSecondsToTimestamp(field("createdAtSeconds")).as("createdAtString"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.UnixSecondsToTimestamp(firestore.FieldOf("createdAtSeconds")).As("createdAtString"),
	)).
	Execute(ctx)

TIMESTAMP_ADD

সিনট্যাক্স:

timestamp_add(timestamp: TIMESTAMP | BSON_TIMESTAMP, unit: STRING, amount: INT64) -> TIMESTAMP

বিবরণ:

timestamp থেকে unit-এর amount যোগ করে। amount আর্গুমেন্ট নেগেটিভ হতে পারে, সেক্ষেত্রে এটি TIMESTAMP_SUB-এর সমতুল্য।

unit আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:

  • microsecond
  • millisecond
  • second
  • minute
  • hour
  • day

ফলাফল হিসেবে পাওয়া টাইমস্ট্যাম্প TIMESTAMP রেঞ্জের মধ্যে না থাকলে সমস্যা দেখায়।

উদাহরণ:

timestamp unit amount timestamp_add(timestamp, unit, amount)
২০২৫-০২-২০ ০০:০০:০০ UTC "মিনিট" 2L 2025-02-20 00:02:00 UTC
২০২৫-০২-২০ ০০:০০:০০ UTC "ঘণ্টা" -4L 2025-02-19 20:00:00 UTC
২০২৫-০২-২০ ০০:০০:০০ UTC "দিন" ৫ লাখ 2025-02-25 00:00:00 UTC
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("createdAt").timestampAdd("day", 3653).as("expiresAt")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(timestampAdd(field("createdAt"), "day", 3653).as("expiresAt"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.TimestampAdd(firestore.FieldOf("createdAt"), "day", 3653).As("expiresAt"),
	)).
	Execute(ctx)

TIMESTAMP_SUB

সিনট্যাক্স:

timestamp_sub(timestamp: TIMESTAMP | BSON_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)
২০২৬-০৭-০৪ ০০:০০:০০ UTC "মিনিট" ৪০ লিটার 2026-07-03 23:20:00 UTC
২০২৬-০৭-০৪ ০০:০০:০০ UTC "ঘণ্টা" -২৪L ২০২৬-০৭-০৫ ০০:০০:০০ UTC
২০২৬-০৭-০৪ ০০:০০:০০ UTC "দিন" ৩ লাখ ২০২৬-০৭-০১ ০০:০০:০০ UTC
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("expiresAt").timestampSubtract("day", 14).as("sendWarningTimestamp")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(timestampSubtract(field("expiresAt"), "day", 14).as("sendWarningTimestamp"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.TimestampSubtract(firestore.FieldOf("expiresAt"), "day", 14).As("sendWarningTimestamp"),
	)).
	Execute(ctx)

TIMESTAMP_TO_UNIX_MICROS

সিনট্যাক্স:

timestamp_to_unix_micros(input: TIMESTAMP | BSON_TIMESTAMP) -> INT64

বিবরণ:

1970-01-01 00:00:00 UTC থেকে input-কে মাইক্রোসেকেন্ডের সংখ্যায় কনভার্ট করে। মাইক্রোসেকেন্ডের শুরুতে রাউন্ড ডাউন করে নির্ভুলতার উচ্চ লেভেল ট্রাঙ্কেট করে।

উদাহরণ:

input timestamp_to_unix_micros(input)
১৯৭০-০১-০১ ০০:০০:০০ UTC ০ লিটার
১৯৭০-০১-০১ ০০:০৬:৪০.১২৩৪৫৬ UTC 400123456L
১৯৬৯-১২-৩১ ২৩:৫৯:৫৯ UTC -১০০০০০০L
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("dateString").timestampToUnixMicros().as("unixMicros")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(timestampToUnixMicros(field("dateString")).as("unixMicros"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.TimestampToUnixMicros(firestore.FieldOf("dateString")).As("unixMicros"),
	)).
	Execute(ctx)

TIMESTAMP_TO_UNIX_MILLIS

সিনট্যাক্স:

timestamp_to_unix_millis(input: TIMESTAMP | BSON_TIMESTAMP) -> INT64

বিবরণ:

1970-01-01 00:00:00 UTC থেকে input-কে মিলিসেকেন্ডের সংখ্যায় কনভার্ট করে। মিলি সেকেন্ডের শুরু পর্যন্ত রাউন্ড ডাউন করে নির্ভুলতার উচ্চ লেভেল ট্রাঙ্কেট করে।

উদাহরণ:

input timestamp_to_unix_millis(input)
১৯৭০-০১-০১ ০০:০০:০০ UTC ০ লিটার
১৯৭০-০১-০১ ০১:০৬:৪০.১২৩ UTC 4000123L
১৯৬৯-১২-৩১ ২৩:৪৩:২০ -১০০০০০০L
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("dateString").timestampToUnixMillis().as("unixMillis")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(timestampToUnixMillis(field("dateString")).as("unixMillis"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.TimestampToUnixMillis(firestore.FieldOf("dateString")).As("unixMillis"),
	)).
	Execute(ctx)

TIMESTAMP_TO_UNIX_SECONDS

সিনট্যাক্স:

timestamp_to_unix_seconds(input: TIMESTAMP | BSON_TIMESTAMP) -> INT64

বিবরণ:

1970-01-01 00:00:00 UTC থেকে শুরু করে input-কে সেকেন্ডের সংখ্যায় কনভার্ট করে। সেকেন্ডের শুরুতে রাউন্ড ডাউন করে নির্ভুলতার উচ্চ লেভেল ট্রাঙ্কেট করে।

উদাহরণ:

input timestamp_to_unix_seconds(input)
১৯৭০-০১-০১ ০০:০০:০০ UTC ০ লিটার
১৯৭০-০১-০১ ০০:০১:০০ UTC ৬০ লিটার
১৯৬৯-১২-৩১ ২৩:৫৫:০০ UTC -৩০০ লিটার
Node.js
const result = await db.pipeline()
  .collection("documents")
  .select(
    field("dateString").timestampToUnixSeconds().as("unixSeconds")
  )
  .execute();

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()
)
জাভা
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("documents")
        .select(timestampToUnixSeconds(field("dateString")).as("unixSeconds"))
        .execute()
        .get();
Go
snapshot := client.Pipeline().
	Collection("documents").
	Select(firestore.Fields(
		firestore.TimestampToUnixSeconds(firestore.FieldOf("dateString")).As("unixSeconds"),
	)).
	Execute(ctx)

TIMESTAMP_DIFF

সিনট্যাক্স:

timestamp_diff(end: TIMESTAMP | BSON_TIMESTAMP, start: TIMESTAMP | BSON_TIMESTAMP, unit: STRING) -> INT64

বিবরণ:

দুটি TIMESTAMP-এর মধ্যে নির্দিষ্ট unit ব্যবধানের পূর্ণ সংখ্যা দেখায়।

  • end, start-এর আগে হলে নেগেটিভ ভ্যালু দেখায়।
  • যেকোনও ভগ্নাংশ ইউনিটকে ট্রাঙ্কেট করে। যেমন, timestamp_diff("2021-01-01 00:00:01", "2021-01-01 00:00:00", "minute")-এর জন্য 0 রিটার্ন করে।

unit আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:

  • microsecond
  • millisecond
  • second
  • minute
  • hour
  • day

উদাহরণ:

end start unit timestamp_diff(end, start, unit)
২০২৬-০৭-০৪ ০০:০১:০০ UTC ২০২৬-০৭-০৪ ০০:০০:০০ UTC "সেকেন্ড" ৬০ লিটার
২০২৬-০৭-০৪ ০০:০০:০০ UTC ২০২৬-০৭-০৫ ০০:০০:০০ UTC "দিন" -১ লিটার
২০২৬-০৭-০৪ ০০:০০:৫৯ UTC ২০২৬-০৭-০৪ ০০:০০:০০ UTC "মিনিট" ০ লিটার

TIMESTAMP_EXTRACT

সিনট্যাক্স:

timestamp_extract(timestamp: TIMESTAMP | BSON_TIMESTAMP, part: STRING[, timezone: STRING]) -> INT64

বিবরণ:

timestamp থেকে নির্দিষ্ট part (যেমন, বছর, মাস, দিন) এক্সট্র্যাক্ট করে।

part আর্গুমেন্টটি অবশ্যই একটি স্ট্রিং এবং নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:

  • microsecond
  • millisecond
  • second
  • minute
  • hour
  • day
  • dayofweek: ১ (রবিবার) থেকে ৭ (শনিবার)-এর মধ্যে কোনও ভ্যালু দেখায়।
  • dayofyear
  • week: বছরের সপ্তাহের সংখ্যা দেখায়, বছরের প্রথম রবিবার থেকে ১ দিয়ে শুরু হয়।
  • week([weekday]): নির্দিষ্ট weekday থেকে শুরু করে বছরের সপ্তাহের সংখ্যা দেখায়।
  • month
  • quarter
  • year
  • isoweek: ISO 8601 সপ্তাহের সংখ্যা দেখায়।
  • isoyear: ISO 8601 সপ্তাহ-নম্বরিং বছর রিটার্ন করে।

timezone আর্গুমেন্ট প্রদান করা হলে, এক্সট্র্যাকশন প্রদত্ত টাইমজোনের ক্যালেন্ডারের উপর ভিত্তি করে হবে। এক্সট্র্যাকশন ডেলাইট সেভিংস টাইম মেনে চলবে।

timezone প্রদান করা না হলে, UTC-এর উপর ভিত্তি করে এক্সট্র্যাক্ট করা হবে।

timezone আর্গুমেন্টটি টাইমজোন ডেটাবেস থেকে টাইমজোনের একটি স্ট্রিং উপস্থাপনা হওয়া উচিত, উদাহরণস্বরূপ America/New_York। এছাড়াও, GMT থেকে অফসেট নির্দিষ্ট করে কাস্টম টাইম অফসেট ব্যবহার করা যেতে পারে।

উদাহরণ:

timestamp part timezone timestamp_extract(timestamp, part, timezone)
২০২৫-০২-২০ ১০:২০:৩০ UTC "বছর" উল্লেখ নেই ২০২৫
২০২৫-০২-২০ ১০:২০:৩০ UTC "দিন" উল্লেখ নেই 20
২০২৫-১২-৩১ ২৩:৫৯:৫৯ UTC "বছর" "Asia/Tokyo" 2026