> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kayanos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# دوال التاريخ والوقت

> جميع دوال التاريخ والوقت المسجلة، مع التواقيع والأمثلة للمواعيد والاستحقاقات ونوافذ الخدمة وفترات التقارير.

## متى تستخدم هذه الدوال؟

استخدم قيماً تاريخية بصيغة ISO قدر الإمكان واختبر التعبير في سياق الحقل أو النموذج أو القالب نفسه. التنسيق للعرض، أما المقارنة والحساب فيجب أن يعتمدا على قيمة التاريخ الأساسية.

## طريقة الكتابة

استخدم الدالة بصيغة `dateFormat($.submitted_at, "YYYY-MM-DD")`. لا تكون كل دالة متاحة في كل مكان: دوال التحقق ودوال النموذج ودوال قالب المستند لها عقود سياق مختلفة. لا تفترض أن اقتراح المحرر يعني أن الدالة مدعومة وقت التشغيل.

## مرجع الدوال الكامل

### `addDays`

تضيف عدداً من الأيام إلى قيمة تاريخ أو وقت.

**التوقيع:** `addDays(date, days)`

**مثال:**

```txt theme={null}
addDays("2023-01-01T00:00:00Z", 5) // "2023-01-06T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | addDays(...)`.

### `addHours`

تضيف عدداً من الساعات إلى قيمة تاريخ أو وقت.

**التوقيع:** `addHours(date, hours)`

**مثال:**

```txt theme={null}
addHours("2023-01-01T00:00:00Z", 5) // "2023-01-01T05:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | addHours(...)`.

### `addMinutes`

تضيف عدداً من الدقائق إلى قيمة تاريخ أو وقت.

**التوقيع:** `addMinutes(date, minutes)`

**مثال:**

```txt theme={null}
addMinutes("2023-01-01T00:00:00Z", 30) // "2023-01-01T00:30:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | addMinutes(...)`.

### `addMonths`

تضيف عدداً من الأشهر إلى قيمة تاريخ أو وقت.

**التوقيع:** `addMonths(date, months)`

**مثال:**

```txt theme={null}
addMonths("2023-01-01T00:00:00Z", 3) // "2023-04-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | addMonths(...)`.

### `addYears`

تضيف عدداً من السنوات إلى قيمة تاريخ أو وقت.

**التوقيع:** `addYears(date, years)`

**مثال:**

```txt theme={null}
addYears("2023-01-01T00:00:00Z", 2) // "2025-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | addYears(...)`.

### `date`

تنشئ أو تحول قيمة إلى كائن تاريخ قابل للاستخدام في دوال التاريخ.

**التوقيع:** `date(year, month, day, hour?, minute?, second?, millisecond?)`

**مثال:**

```txt theme={null}
date(2025,10,15) // "2025-10-15T00:00:00.000Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | date(...)`.

### `dateAdd`

تضيف مقداراً بوحدة زمنية محددة إلى تاريخ.

**التوقيع:** `dateAdd(date, amount, unit)`

**مثال:**

```txt theme={null}
dateAdd("2025-01-15T10:30:00Z", 2, "day") // Date representing 2025-01-17T10:30:00.000Z
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateAdd(...)`.

### `dateDiff`

تعيد الفرق بين تاريخين بالوحدة الزمنية المحددة.

**التوقيع:** `dateDiff(date, other, unit)`

**مثال:**

```txt theme={null}
dateDiff("2025-01-17T10:30:00Z", "2025-01-15T10:30:00Z", "day") // 2
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateDiff(...)`.

### `dateFormat`

تنسيق قيمة التاريخ للعرض باستخدام رموز التنسيق العامة ذات الأحرف الكبيرة مثل `YYYY-MM-DD`.

**التوقيع:** `dateFormat(date, format)`

**مثال:**

```txt theme={null}
dateFormat("2025-01-15T10:30:45.123Z", "YYYY-MM-DD") // "2025-01-15"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateFormat(...)`.

### `dateFromString`

تحول سلسلة تاريخ صالحة إلى قيمة تاريخ.

**التوقيع:** `dateFromString(str)`

**مثال:**

```txt theme={null}
dateFromString("2025-01-15") // Date representing 2025-01-15
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateFromString(...)`.

### `dateFromTime`

تنشئ قيمة تاريخ من مكونات الوقت أو من تمثيل وقت مدعوم.

**التوقيع:** `dateFromTime(time)`

**مثال:**

```txt theme={null}
dateFromTime("14:30") // Today at 14:30:00
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateFromTime(...)`.

### `dateFromTimestamp`

تحول طابعاً زمنياً بالمللي ثانية إلى قيمة تاريخ.

**التوقيع:** `dateFromTimestamp(timestamp)`

**مثال:**

```txt theme={null}
dateFromTimestamp(1736937045123) // Date representing 2025-01-15T10:30:45.123Z
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateFromTimestamp(...)`.

### `dateParse`

تحلل نص تاريخ وفق نمط تنسيق محدد وتعيد قيمة تاريخ.

**التوقيع:** `dateParse(str, format)`

**مثال:**

```txt theme={null}
dateParse("2025-01-15", "YYYY-MM-DD") // Date representing 2025-01-15T00:00:00.000Z
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateParse(...)`.

### `dateSubtract`

تطرح مقداراً بوحدة زمنية محددة من تاريخ.

**التوقيع:** `dateSubtract(date, amount, unit)`

**مثال:**

```txt theme={null}
dateSubtract("2025-01-15T10:30:00Z", 2, "day") // Date representing 2025-01-13T10:30:00.000Z
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dateSubtract(...)`.

### `day`

تعيد يوم الشهر من قيمة التاريخ.

**التوقيع:** `day(date)`

**مثال:**

```txt theme={null}
day("2025-01-15T10:30:45.123Z") // 15
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | day(...)`.

### `dayOfYear`

تعيد رقم اليوم ضمن السنة.

**التوقيع:** `dayOfYear(date)`

**مثال:**

```txt theme={null}
dayOfYear("2023-01-01T00:00:00Z") // 1
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | dayOfYear(...)`.

### `daysInMonth`

تعيد عدد الأيام في شهر التاريخ المعطى.

**التوقيع:** `daysInMonth(year, month)`

**مثال:**

```txt theme={null}
daysInMonth(2023, 1) // 31
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | daysInMonth(...)`.

### `diffDays`

تعيد الفرق بين تاريخين بعدد الأيام.

**التوقيع:** `diffDays(date1, date2)`

**مثال:**

```txt theme={null}
diffDays("2023-01-01T00:00:00Z", "2023-01-10T00:00:00Z") // 9
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | diffDays(...)`.

### `diffHours`

تعيد الفرق بين تاريخين بعدد الساعات.

**التوقيع:** `diffHours(date1, date2)`

**مثال:**

```txt theme={null}
diffHours("2023-01-01T00:00:00Z", "2023-01-02T00:00:00Z") // 24
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | diffHours(...)`.

### `diffMinutes`

تعيد الفرق بين تاريخين بعدد الدقائق.

**التوقيع:** `diffMinutes(date1, date2)`

**مثال:**

```txt theme={null}
diffMinutes("2023-01-01T00:00:00Z", "2023-01-01T01:00:00Z") // 60
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | diffMinutes(...)`.

### `endOfDay`

تعيد لحظة نهاية اليوم للتاريخ المعطى.

**التوقيع:** `endOfDay(date)`

**مثال:**

```txt theme={null}
endOfDay("2023-01-01T12:34:56Z") // "2023-01-01T23:59:59Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | endOfDay(...)`.

### `endOfMonth`

تعيد لحظة نهاية الشهر للتاريخ المعطى.

**التوقيع:** `endOfMonth(date)`

**مثال:**

```txt theme={null}
endOfMonth("2023-01-15T12:34:56Z") // "2023-01-31T23:59:59Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | endOfMonth(...)`.

### `endOfWeek`

تعيد لحظة نهاية الأسبوع للتاريخ المعطى.

**التوقيع:** `endOfWeek(date)`

**مثال:**

```txt theme={null}
endOfWeek("2023-01-15T12:34:56Z") // "2023-01-15T23:59:59Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | endOfWeek(...)`.

### `endOfYear`

تعيد لحظة نهاية السنة للتاريخ المعطى.

**التوقيع:** `endOfYear(date)`

**مثال:**

```txt theme={null}
endOfYear("2023-05-15T12:34:56Z") // "2023-12-31T23:59:59Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | endOfYear(...)`.

### `formatDateTime`

تنسيق تاريخ ووقت للعرض وفق الإعدادات المحلية المتاحة.

**التوقيع:** `formatDateTime(date, dateStyle?, timeStyle?, locale?)`

**مثال:**

```txt theme={null}
formatDateTime("2023-01-01T00:00:00Z") // "Jan 1, 2023, 12:00:00 AM"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatDateTime(...)`.

### `formatFull`

تنسيق التاريخ أو الوقت بأسلوب عرض كامل.

**التوقيع:** `formatFull(date, locale?)`

**مثال:**

```txt theme={null}
formatFull("2023-01-01T00:00:00Z") // "Sunday, January 1, 2023"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatFull(...)`.

### `formatLong`

تنسيق التاريخ أو الوقت بأسلوب عرض طويل.

**التوقيع:** `formatLong(date, locale?)`

**مثال:**

```txt theme={null}
formatLong("2023-01-01T00:00:00Z") // "January 1, 2023"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatLong(...)`.

### `formatMedium`

تنسيق التاريخ أو الوقت بأسلوب عرض متوسط.

**التوقيع:** `formatMedium(date, locale?)`

**مثال:**

```txt theme={null}
formatMedium("2023-01-01T00:00:00Z") // "Jan 1, 2023"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatMedium(...)`.

### `formatShort`

تنسيق التاريخ أو الوقت بأسلوب عرض قصير.

**التوقيع:** `formatShort(date, locale?)`

**مثال:**

```txt theme={null}
formatShort("2023-01-01T00:00:00Z") // "1/1/2023"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatShort(...)`.

### `formatTimeLong`

تنسيق الجزء الزمني بأسلوب عرض طويل.

**التوقيع:** `formatTimeLong(date, locale?)`

**مثال:**

```txt theme={null}
formatTimeLong("2023-01-01T00:00:00Z") // "12:00:00 AM GMT"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatTimeLong(...)`.

### `formatTimeMedium`

تنسيق الجزء الزمني بأسلوب عرض متوسط.

**التوقيع:** `formatTimeMedium(date, locale?)`

**مثال:**

```txt theme={null}
formatTimeMedium("2023-01-01T00:00:00Z") // "12:00:00 AM"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatTimeMedium(...)`.

### `formatTimeShort`

تنسيق الجزء الزمني بأسلوب عرض قصير.

**التوقيع:** `formatTimeShort(date, locale?)`

**مثال:**

```txt theme={null}
formatTimeShort("2023-01-01T00:00:00Z") // "12:00 AM"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | formatTimeShort(...)`.

### `getAge`

تحسب العمر التقريبي أو الكامل من تاريخ الميلاد وتاريخ مرجعي حسب توقيع الدالة.

**التوقيع:** `getAge(birthDate)`

**مثال:**

```txt theme={null}
getAge("2000-01-01T00:00:00Z") // 23
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | getAge(...)`.

### `hour`

تعيد ساعة اليوم من قيمة التاريخ.

**التوقيع:** `hour(date)`

**مثال:**

```txt theme={null}
hour("2025-01-15T10:30:45.123Z") // 10
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | hour(...)`.

### `isAfter`

تتحقق من وقوع تاريخ بعد تاريخ آخر، مع إمكانية تحديد دقة المقارنة.

**التوقيع:** `isAfter(date, other, unit)`

**مثال:**

```txt theme={null}
isAfter("2025-01-16T10:30:00Z", "2025-01-15T08:00:00Z", "day") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isAfter(...)`.

### `isBefore`

تتحقق من وقوع تاريخ قبل تاريخ آخر، مع إمكانية تحديد دقة المقارنة.

**التوقيع:** `isBefore(date, other, unit)`

**مثال:**

```txt theme={null}
isBefore("2025-01-15T10:30:00Z", "2025-01-16T08:00:00Z", "day") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isBefore(...)`.

### `isLeapYear`

تتحقق من كون سنة التاريخ سنة كبيسة.

**التوقيع:** `isLeapYear(year)`

**مثال:**

```txt theme={null}
isLeapYear(2020) // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isLeapYear(...)`.

### `isSame`

تتحقق من تساوي تاريخين، مع إمكانية تحديد دقة المقارنة.

**التوقيع:** `isSame(date, other, unit)`

**مثال:**

```txt theme={null}
isSame("2025-01-15T10:30:00Z", "2025-01-15T08:00:00Z", "day") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isSame(...)`.

### `isSameDay`

تتحقق من وقوع تاريخين في اليوم التقويمي نفسه.

**التوقيع:** `isSameDay(date1, date2)`

**مثال:**

```txt theme={null}
isSameDay("2023-01-01T00:00:00Z", "2023-01-01T23:59:59Z") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isSameDay(...)`.

### `isSameOrAfter`

تتحقق من وقوع تاريخ في نفس تاريخ آخر أو بعده.

**التوقيع:** `isSameOrAfter(date, other, unit)`

**مثال:**

```txt theme={null}
isSameOrAfter("2025-01-15T10:30:00Z", "2025-01-15T08:00:00Z", "day") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isSameOrAfter(...)`.

### `isSameOrBefore`

تتحقق من وقوع تاريخ في نفس تاريخ آخر أو قبله.

**التوقيع:** `isSameOrBefore(date, other, unit)`

**مثال:**

```txt theme={null}
isSameOrBefore("2025-01-15T10:30:00Z", "2025-01-15T08:00:00Z", "day") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isSameOrBefore(...)`.

### `isToday`

تتحقق من وقوع التاريخ في يوم اليوم وفق منطقة زمنية التقييم.

**التوقيع:** `isToday(date)`

**مثال:**

```txt theme={null}
isToday("2023-01-01T00:00:00Z") // false
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isToday(...)`.

### `isTomorrow`

تتحقق من وقوع التاريخ في يوم الغد وفق منطقة زمنية التقييم.

**التوقيع:** `isTomorrow(date)`

**مثال:**

```txt theme={null}
isTomorrow("2023-01-01T00:00:00Z") // false
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isTomorrow(...)`.

### `isValidDatePattern`

تتحقق من صلاحية نص التاريخ وفق نمط تاريخ محدد.

**التوقيع:** `isValidDatePattern(dateString)`

**مثال:**

```txt theme={null}
isValidDatePattern("2025-10-15") // true
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isValidDatePattern(...)`.

### `isYesterday`

تتحقق من وقوع التاريخ في يوم الأمس وفق منطقة زمنية التقييم.

**التوقيع:** `isYesterday(date)`

**مثال:**

```txt theme={null}
isYesterday("2023-01-01T00:00:00Z") // false
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | isYesterday(...)`.

### `millisecond`

تعيد جزء المللي ثانية من قيمة التاريخ.

**التوقيع:** `millisecond(date)`

**مثال:**

```txt theme={null}
millisecond("2025-01-15T10:30:45.123Z") // 123
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | millisecond(...)`.

### `minute`

تعيد دقيقة الساعة من قيمة التاريخ.

**التوقيع:** `minute(date)`

**مثال:**

```txt theme={null}
minute("2025-01-15T10:30:45.123Z") // 30
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | minute(...)`.

### `month`

تعيد رقم الشهر من قيمة التاريخ.

**التوقيع:** `month(date)`

**مثال:**

```txt theme={null}
month("2025-01-15T10:30:45.123Z") // 1
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | month(...)`.

### `normalizeDateInput`

توحّد مدخل تاريخ أو وقت مدعوم إلى قيمة يمكن لدوال التاريخ معالجتها.

**التوقيع:** `normalizeDateInput(value)`

**مثال:**

```txt theme={null}
normalizeDateInput(value)
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | normalizeDateInput(...)`.

### `now`

تعيد التاريخ والوقت الحاليين عند التقييم. لا تستخدمها في قيمة محفوظة تتطلب ثباتاً دون سياسة تحديث.

**التوقيع:** `now()`

**مثال:**

```txt theme={null}
dateFormat(now(), "YYYY-MM-DD")
```

**التوافر:** دالة عامة. It is time-dependent; do not use it for a deterministic serial namespace or a persisted result without a refresh policy.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | now(...)`.

### `parseDateString`

تحلل سلسلة تاريخ شائعة إلى قيمة تاريخ عند إمكان ذلك.

**التوقيع:** `parseDateString(dateString)`

**مثال:**

```txt theme={null}
parseDateString("2025-10-15") // "2025-10-15T00:00:00.000Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | parseDateString(...)`.

### `parseIsoDate`

تحلل سلسلة تاريخ ISO إلى قيمة تاريخ.

**التوقيع:** `parseIsoDate(isoDate)`

**مثال:**

```txt theme={null}
parseIsoDate("2023-01-01T00:00:00Z") // "2023-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | parseIsoDate(...)`.

### `second`

تعيد ثانية الدقيقة من قيمة التاريخ.

**التوقيع:** `second(date)`

**مثال:**

```txt theme={null}
second("2025-01-15T10:30:45.123Z") // 45
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | second(...)`.

### `startOfDay`

تعيد لحظة بداية اليوم للتاريخ المعطى.

**التوقيع:** `startOfDay(date)`

**مثال:**

```txt theme={null}
startOfDay("2023-01-01T12:34:56Z") // "2023-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | startOfDay(...)`.

### `startOfMonth`

تعيد لحظة بداية الشهر للتاريخ المعطى.

**التوقيع:** `startOfMonth(date)`

**مثال:**

```txt theme={null}
startOfMonth("2023-01-15T12:34:56Z") // "2023-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | startOfMonth(...)`.

### `startOfWeek`

تعيد لحظة بداية الأسبوع للتاريخ المعطى.

**التوقيع:** `startOfWeek(date)`

**مثال:**

```txt theme={null}
startOfWeek("2023-01-15T12:34:56Z") // "2023-01-09T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | startOfWeek(...)`.

### `startOfYear`

تعيد لحظة بداية السنة للتاريخ المعطى.

**التوقيع:** `startOfYear(date)`

**مثال:**

```txt theme={null}
startOfYear("2023-05-15T12:34:56Z") // "2023-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | startOfYear(...)`.

### `subtractDays`

تطرح عدداً من الأيام من قيمة تاريخ أو وقت.

**التوقيع:** `subtractDays(date, days)`

**مثال:**

```txt theme={null}
subtractDays("2023-01-01T00:00:00Z", 5) // "2022-12-27T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | subtractDays(...)`.

### `subtractMonths`

تطرح عدداً من الأشهر من قيمة تاريخ أو وقت.

**التوقيع:** `subtractMonths(date, months)`

**مثال:**

```txt theme={null}
subtractMonths("2023-01-01T00:00:00Z", 3) // "2022-10-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | subtractMonths(...)`.

### `subtractYears`

تطرح عدداً من السنوات من قيمة تاريخ أو وقت.

**التوقيع:** `subtractYears(date, years)`

**مثال:**

```txt theme={null}
subtractYears("2023-01-01T00:00:00Z", 2) // "2021-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | subtractYears(...)`.

### `timestamp`

تحول قيمة التاريخ إلى طابع زمني بالمللي ثانية.

**التوقيع:** `timestamp(date)`

**مثال:**

```txt theme={null}
timestamp("2025-01-15T10:30:45.123Z") // 1736937045123
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | timestamp(...)`.

### `toIsoDate`

تحول التاريخ إلى تمثيل نصي بصيغة ISO.

**التوقيع:** `toIsoDate(date)`

**مثال:**

```txt theme={null}
toIsoDate("2023-01-01T00:00:00Z") // "2023-01-01T00:00:00Z"
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | toIsoDate(...)`.

### `weekOfYear`

تعيد رقم الأسبوع ضمن السنة.

**التوقيع:** `weekOfYear(date)`

**مثال:**

```txt theme={null}
weekOfYear("2023-01-01T00:00:00Z") // 52
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | weekOfYear(...)`.

### `year`

تعيد السنة من قيمة التاريخ.

**التوقيع:** `year(date)`

**مثال:**

```txt theme={null}
year("2025-01-15T10:30:45.123Z") // 2025
```

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | year(...)`.

## قائمة تحقق قبل النشر

* ابدأ بقيمة معروفة وتحقق من النتيجة المتوقعة.
* تعامل صراحةً مع القيم الفارغة وnull والقوائم الفارغة.
* لا تضع أسراراً أو رموز وصول أو بيانات شخصية حساسة داخل تعبير.
* راجع [سياقات وتوافر التعبيرات](/ar/reference/expressions/contexts) قبل نسخ تعبير بين ميزتين.

![دوال التاريخ والوقت في KayanOS](https://kayanos.app/docs-images/ar/reference/expressions-helpers-date.png)
