Skip to content

Date & Time Library — اردو/تاریخ

The اردو/تاریخ library provides classes for Gregorian dates, Islamic (Hijri) calendar dates, and durations, along with convenient built-in shortcuts.

اردو: اردو/تاریخ لائبریری عیسوی تاریخ (Gregorian)، ہجری تقویم (Islamic calendar)، اور مدت (duration) کے لیے کلاس فراہم کرتی ہے۔

Import:

درآمد { تاریخ, وقت, مدت, ہجری } سے "اردو/تاریخ"

Table of Contents — فہرست مضامین

  1. مدت — Duration
  2. تاریخ — Gregorian Date
  3. ہجری — Islamic Calendar
  4. Built-in Shortcuts
  5. Examples

مدت — Duration

A مدت represents a span of time. It wraps Python's timedelta.

اردو: مدت وقت کے ایک وقفے کو ظاہر کرتی ہے۔ یہ Python کے timedelta کو لپیٹتی ہے۔

Constructor

متغیر م = نیا مدت(دن=0, گھنٹے=0, منٹ=0, سیکنڈ=0, ہفتے=0)

All parameters are optional and can be combined:

متغیر دو_ہفتے   = نیا مدت(ہفتے=2)
متغیر ڈیڑھ_دن  = نیا مدت(دن=1, گھنٹے=12)
متغیر ایک_گھنٹہ = نیا مدت(گھنٹے=1)

Properties — خصوصیات

Property Type Description
.دن int Days component (may be negative)
.سیکنڈ int Seconds component within the day (0–86399)
.کل_سیکنڈ float Total duration in seconds
.کل_منٹ float Total duration in minutes
.کل_گھنٹے float Total duration in hours
.کل_دن float Total duration in days

Arithmetic — حسابات

Operation Description
م1 + م2 Add two durations
م1 - م2 Subtract durations
م * n Multiply duration by a number
Negate (reverse direction)
abs(م) Absolute value
م1 < م2, م1 == م2, etc. Compare durations
درآمد { مدت } سے "اردو/تاریخ"

متغیر ہفتہ = نیا مدت(ہفتے=1)
متغیر تین_دن = نیا مدت(دن=3)

لکھو("ہفتہ:", ہفتہ.کل_دن, "دن")
لکھو("تین دن:", تین_دن.کل_گھنٹے, "گھنٹے")
لکھو("فرق:", (ہفتہ - تین_دن).کل_دن, "دن")
لکھو("دوگنا:", (ہفتہ * 2).کل_دن, "دن")

تاریخ — Gregorian Date

اردو: تاریخ عیسوی کیلنڈر کی تاریخ ہے۔ آج کی تاریخ تاریخ.آج() سے حاصل کریں۔

Constructor

متغیر ت = نیا تاریخ(سال, مہینہ, دن)

Create today's date with the static method:

متغیر آج = تاریخ.آج()

Properties — خصوصیات

Property Type Description
.سال int Four-digit year
.مہینہ int Month (1–12)
.دن int Day of month (1–31)
.ہفتے_کا_دن int Weekday: 0=پیر … 6=اتوار

Methods — طریقے

Method Returns Description
.شامل(مدت) تاریخ Add a duration → new date
.فرق(دوسری_تاریخ) مدت Subtract two dates → duration
.فارمیٹ(فارمیٹ_متن) string Format using strftime codes
.متن() string ISO format: YYYY-MM-DD

Month constants — مہینوں کے مستقل

Urdu Int English
جنوری 1 January
فروری 2 February
مارچ 3 March
اپریل 4 April
مئی 5 May
جون 6 June
جولائی 7 July
اگست 8 August
ستمبر 9 September
اکتوبر 10 October
نومبر 11 November
دسمبر 12 December

Weekday constants — ہفتے کے ایام

Urdu Int English
پیر 0 Monday
منگل 1 Tuesday
بدھ 2 Wednesday
جمعرات 3 Thursday
جمعہ 4 Friday
ہفتہ 5 Saturday
اتوار 6 Sunday
درآمد { تاریخ, مدت } سے "اردو/تاریخ"

// آج کی تاریخ
متغیر آج = تاریخ.آج()
لکھو("آج:", آج.متن())

// مخصوص تاریخ
متغیر یوم_آزادی = نیا تاریخ(1947, 8, 14)
لکھو("یوم آزادی:", یوم_آزادی.متن())

// حسابات
متغیر عمر = آج.فرق(نیا تاریخ(2000, 1, 1))
لکھو("صدی سے دن:", عمر.کل_دن.toFixed(0))

// اگلے ہفتے کی تاریخ
متغیر اگلا_ہفتہ = آج.شامل(نیا مدت(ہفتے=1))
لکھو("اگلا ہفتہ:", اگلا_ہفتہ.متن())

// ہفتے کا دن
متغیر دن_نام = ["پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ","اتوار"]
لکھو("آج:", دن_نام[آج.ہفتے_کا_دن])

// فارمیٹنگ
لکھو("فارمیٹ:", آج.فارمیٹ("%d %B %Y"))

ہجری — Islamic Calendar

ہجری provides Islamic (Hijri) calendar dates and conversion to/from Gregorian.

اردو: ہجری اسلامی تقویم کی تاریخ اور عیسوی تاریخ کے درمیان تبدیلی فراہم کرتا ہے۔

Constructor

متغیر ہ = نیا ہجری(سال, مہینہ, دن)

Static methods:

متغیر آج_ہجری  = ہجری.آج()                        // آج کی ہجری تاریخ
متغیر تبدیل   = ہجری.میلادی_سے(سال, مہینہ, دن)    // Gregorian → Hijri
متغیر میلادی  = ہجری_تاریخ.میلادی_کو()             // Hijri → Gregorian

Properties — خصوصیات

Property Type Description
.سال int Hijri year
.مہینہ int Hijri month (1–12)
.دن int Day of month
.مہینہ_نام string Urdu month name

Hijri month names — ہجری مہینوں کے نام

Num Urdu Arabic
1 محرم Muḥarram
2 صفر Ṣafar
3 ربیع_الاول Rabīʿ al-Awwal
4 ربیع_الثانی Rabīʿ al-Thānī
5 جمادی_الاول Jumādá al-Ūlá
6 جمادی_الثانی Jumādá al-Ākhira
7 رجب Rajab
8 شعبان Shaʿbān
9 رمضان Ramaḍān
10 شوال Shawwāl
11 ذوالقعدہ Dhū al-Qaʿda
12 ذوالحجہ Dhū al-Ḥijja
درآمد { ہجری } سے "اردو/تاریخ"

// آج ہجری میں
متغیر آج = ہجری.آج()
لکھو("آج ہجری:", `${آج.سال} ${آج.مہینہ_نام} ${آج.دن}`)

// Gregorian سے Hijri
متغیر ہجری_تاریخ = ہجری.میلادی_سے(1947, 8, 14)
لکھو("یوم آزادی ہجری:", `${ہجری_تاریخ.سال} ${ہجری_تاریخ.مہینہ_نام} ${ہجری_تاریخ.دن}`)

// Hijri سے Gregorian
متغیر میلادی = ہجری_تاریخ.میلادی_کو()
لکھو("واپس میلادی:", میلادی.متن())

Built-in Shortcuts — اندرونی شارٹ کٹ

These functions are available globally without importing:

اردو: یہ فنکشن درآمد کیے بغیر ہر جگہ دستیاب ہیں۔ وقت() موجودہ ٹائم اسٹیمپ، تاریخ() موجودہ تاریخ و وقت، اور تاخیر(ms) مدت (duration) کے لیے انتظار کرتے ہیں۔

Function Description
وقت() Returns current timestamp in milliseconds (like Date.now())
تاریخ() Returns current datetime as a formatted string
تاخیر(ms) Async sleep for ms milliseconds
// timestamp
متغیر شروع = وقت()
// ... کچھ کام ...
متغیر وقفہ = وقت() - شروع
لکھو(`کام میں ${وقفہ}ms لگے`)

// موجودہ تاریخ و وقت
لکھو("ابھی:", تاریخ())

// انتظار
غیر_متزامن فنکشن تاخیر_مثال() {
    لکھو("انتظار شروع")
    انتظار تاخیر(2000)   // 2 سیکنڈ
    لکھو("2 سیکنڈ گزرے")
}

انتظار تاخیر_مثال()

Examples — مثالیں

Example 1 — Age and birthday calculator

اردو: مثال ۱ — عمر اور سالگرہ کا حساب

درآمد { تاریخ, مدت } سے "اردو/تاریخ"

فنکشن عمر_حساب_کرو(پیدائش_سال, پیدائش_مہینہ, پیدائش_دن) {
    متغیر آج = تاریخ.آج()
    متغیر پیدائش = نیا تاریخ(پیدائش_سال, پیدائش_مہینہ, پیدائش_دن)

    متغیر فرق = آج.فرق(پیدائش)
    متغیر سال = Math.floor(فرق.کل_دن / 365.25)
    متغیر دن  = Math.floor(فرق.کل_دن % 365.25)

    لکھو(`عمر: ${سال} سال اور ${دن} دن`)

    // اگلی سالگرہ
    متغیر اس_سال_سالگرہ = نیا تاریخ(آج.سال, پیدائش_مہینہ, پیدائش_دن)
    اگر (اس_سال_سالگرہ.فرق(آج).کل_دن < 0) {
        اس_سال_سالگرہ = نیا تاریخ(آج.سال + 1, پیدائش_مہینہ, پیدائش_دن)
    }

    متغیر بقیہ = اس_سال_سالگرہ.فرق(آج).کل_دن
    لکھو(`اگلی سالگرہ: ${بقیہ.toFixed(0)} دن بعد — ${اس_سال_سالگرہ.فارمیٹ("%d %B %Y")}`)
}

عمر_حساب_کرو(1995, 3, 22)

Example 2 — Ramadan countdown

اردو: مثال ۲ — رمضان المبارک کی گنتی۔ ہجری تقویم سے ماہ رمضان تک باقی دن معلوم کریں۔

درآمد { تاریخ, ہجری, مدت } سے "اردو/تاریخ"

فنکشن رمضان_گنتی() {
    متغیر آج_ہجری = ہجری.آج()
    لکھو("آج:", `${آج_ہجری.سال} ${آج_ہجری.مہینہ_نام} ${آج_ہجری.دن}`)

    اگر (آج_ہجری.مہینہ == 9) {
        لکھو("ماہ رمضان المبارک جاری ہے!")
        لکھو(`دن نمبر: ${آج_ہجری.دن}`)
        لکھو(`باقی دن: ${30 - آج_ہجری.دن}`)
    } ورنہ {
        // اگلا رمضان
        متغیر اگلا_رمضان_ہجری = نیا ہجری(
            آج_ہجری.مہینہ >= 9 ? آج_ہجری.سال + 1 : آج_ہجری.سال,
            9, 1
        )
        متغیر اگلا_رمضان_میلادی = اگلا_رمضان_ہجری.میلادی_کو()
        متغیر آج_میلادی = تاریخ.آج()
        متغیر بقیہ_دن = اگلا_رمضان_میلادی.فرق(آج_میلادی).کل_دن

        لکھو(`اگلا رمضان: ${اگلا_رمضان_ہجری.سال}ھ`)
        لکھو(`میلادی تاریخ: ${اگلا_رمضان_میلادی.فارمیٹ("%d %B %Y")}`)
        لکھو(`باقی: ${بقیہ_دن.toFixed(0)} دن`)
    }
}

رمضان_گنتی()

Example 3 — Project deadline tracker

اردو: مثال ۳ — منصوبوں کی آخری تاریخ (deadline) کا ٹریکر

درآمد { تاریخ, مدت } سے "اردو/تاریخ"

متغیر آج = تاریخ.آج()

متغیر منصوبے = [
    { نام: "ویب سائٹ ڈیزائن",   آخری_تاریخ: نیا تاریخ(2026, 6, 1) },
    { نام: "موبائل ایپ",         آخری_تاریخ: نیا تاریخ(2026, 7, 15) },
    { نام: "سالانہ رپورٹ",       آخری_تاریخ: نیا تاریخ(2026, 5, 31) },
    { نام: "ڈیٹابیس منتقلی",    آخری_تاریخ: نیا تاریخ(2026, 8, 1) }
]

لکھو("=" * 55)
لکھو("   منصوبوں کی آخری تاریخیں")
لکھو("=" * 55)

کے_لیے (متغیر منصوبہ کا منصوبے) {
    متغیر بقیہ = منصوبہ.آخری_تاریخ.فرق(آج).کل_دن
    متغیر علامت

    اگر (بقیہ < 0) {
        علامت = "✗ میعاد ختم"
    } ورنہ_اگر (بقیہ <= 7) {
        علامت = "⚠ فوری"
    } ورنہ_اگر (بقیہ <= 30) {
        علامت = "! قریب"
    } ورنہ {
        علامت = "✓ وقت ہے"
    }

    لکھو(`${علامت.padEnd(12)} ${منصوبہ.نام.padEnd(20)} ${بقیہ.toFixed(0).padStart(5)} دن`)
}

لکھو("=" * 55)

Example 4 — Duration formatting utility

اردو: مثال ۴ — مدت (duration) کو اردو متن میں ظاہر کرنے کا فنکشن

درآمد { مدت } سے "اردو/تاریخ"

فنکشن مدت_متن(کل_سیکنڈ) {
    متغیر م = نیا مدت(سیکنڈ=کل_سیکنڈ)

    متغیر دن    = Math.floor(م.کل_دن)
    متغیر گھنٹے = Math.floor(م.کل_گھنٹے % 24)
    متغیر منٹ   = Math.floor(م.کل_منٹ % 60)
    متغیر سیکنڈ = Math.floor(م.کل_سیکنڈ % 60)

    متغیر حصے = []
    اگر (دن    > 0) { حصے.شامل(`${دن} دن`) }
    اگر (گھنٹے > 0) { حصے.شامل(`${گھنٹے} گھنٹے`) }
    اگر (منٹ   > 0) { حصے.شامل(`${منٹ} منٹ`) }
    اگر (سیکنڈ > 0) { حصے.شامل(`${سیکنڈ} سیکنڈ`) }

    واپس حصے.join(", ")
}

لکھو(مدت_متن(90061))      // 1 دن، 1 گھنٹہ، 1 منٹ، 1 سیکنڈ
لکھو(مدت_متن(3600))       // 1 گھنٹہ
لکھو(مدت_متن(86400 * 5))  // 5 دن

Previous: Cryptography → | Next: Logging →