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 — فہرست مضامین
مدت — Duration
A مدت represents a span of time. It wraps Python's timedelta.
اردو:
مدتوقت کے ایک وقفے کو ظاہر کرتی ہے۔ یہ Python کےtimedeltaکو لپیٹتی ہے۔
Constructor
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 →