time-ar

أول مكتبة npm/cdn عربية مفتوحة المصدر بالشراكة مع الباشمهندس @محمود لعرض كم مضى & تبقى من الزمن مع التركيز على سلامة اللغة والنحو، مع الامكانية الكاملة فالتخصيص والتعديل.

التثبيت

باستخدام CDN ( للمواقع الثابتة ):

html
<script src="https://cdn.jsdelivr.net/gh/0xdya/timeAr@cdn/dist/script.js"></script>

باستخدام npm:

bash
npm i time-ar

باستخدام pnpm:

bash
pnpm add time-ar

باستخدام yarn:

bash
yarn add time-ar

الاستخدام السريع

نسخة الـ CDN

تتميز بخاصية التشغيل التلقائي؛ حيث تبحث المكتبة فور تحميلها عن العناصر التي تحمل كلاس .time-arأو سمة data-date وتقوم بتحديثها كل 30 ثانية تلقائياً.

مثال (HTMl)

html
<span class="time-ar" data-date="2026-03-21T14:30:15">سيتم التحديث هنا</span>
        
<!-- يمكنك أيضًا استخدام الطريقة المختصرة وتعطي نفس النتيجة -->
<span class="time-ar">2026-03-21T14:30:15</span>

نسخة الـ npm

مثال TypeScript & JavaScript

typescript
import timeAr from "time-ar";

const t = timeAr();
const out = t.getTimeAr("21-03-2026 14:30:15", t.format.fullDateTime);
console.log(out); // "منذ ..."/"بعد ..."

واجهة المكتبة (API)

عند استدعاء timeAr() ستحصل على كائن يحتوي على:

الدالة getTimeAr

التوقيع

typescript
getTimeAr(time: Date | string, timeFormat: string): string

ماذا تُرجع؟

ما هو timeFormat؟

هو التنسيق الذي سيتم الاعتماد عليه لفهم قيمة التاريخ والوقت عندما يكونان نصًا.

التنسيقات الجاهزة format

هادي جميع القيم المتاحة حاليًا:

الاسم القيمة مثال نصي
shortDate DD-MM-YYYY 21-03-2026
longDate MMMM D, YYYY March 21, 2026
shortTime HH:mm 14:30
longTime HH:mm:ss 14:30:15
fullDateTime DD-MM-YYYY HH:mm:ss 21-03-2026 14:30:15
monthDay MMMM D March 21
monthYear MMMM YYYY March 2026
dayMonthYear DD/MM/YYYY 21/03/2026
iso8601 YYYY-MM-DDTHH:mm:ssZ[Z] 2026-03-21T14:30:15Z
time12h hh:mm A 02:30 PM
time12hSeconds hh:mm:ss A 02:30:15 PM

إدخال الوقت كـ string (أمثلة عملية)

1) تاريخ كامل

typescript
import timeAr from "time-ar";

const t = timeAr();
console.log(t.getTimeAr("21-03-2026 14:30:15", t.format.fullDateTime));

2) تاريخ فقط

typescript
import timeAr from "time-ar";

const t = timeAr();
console.log(t.getTimeAr("21-03-2026", t.format.shortDate));

3) وقت فقط (HH:mm أو HH:mm:ss)

إذا مررت وقتًا فقط مثل "14:30" أو "14:30:15" فالمكتبة تعتبره وقت اليوم الحالي في التايمزون الحالي ثم تحسب الفرق مع الآن:

typescript
import timeAr from "time-ar";

const t = timeAr();
console.log(t.getTimeAr("14:30", t.format.shortTime));
console.log(t.getTimeAr("14:30:15", t.format.longTime));

ضبط المنطقة الزمنية (Timezone)

افتراضيًا، يتم اختيار التايمزون من نظام التشغيل. يمكنك تغييره عبر setTimezone:

typescript
import timeAr from "time-ar";

const t = timeAr();
t.setTimezone("Africa/Cairo");
// t.setTimezone("Africa/Algiers");
// t.setTimezone("Africa/....");

console.log(t.getTimeAr("21-03-2026 14:30:15", t.format.fullDateTime));

أخطاء متوقعة

ملاحظات ودقة الإخراج

أسئلة شائعة

هل يدعم العرض بالانجليزية ؟

أكيد لا ._. ،سبب صنعنا لهاد المكتبة لتكون أول مكتبة عربية خام، تدعم النحو وليس ترجمة آلية.

هل أستطيع استخدام تنسيق غير الموجود ؟

نعم، يقبل أي تنسيق عبر:

typescript
console.log(t.getTimeAr("2026|03|21 14-30-15", "YYYY|MM|DD HH-mm-ss"));