تحويل الطابع الزمني epoch
أداة تحوّل طابعًا زمنيًا بصيغة epoch (Unix timestamp) — رقم يمثّل عدد الثواني منذ بداية عام 1970 — إلى تاريخ وساعة مقروءة، والعكس كذلك. يستخدمها المطورون لفهم قيمة تظهر في سجل نظام أو قاعدة بيانات دون حساب يدوي معقّد.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
لماذا تخزّن الأنظمة الوقت كرقم بدل تاريخ مقروء
تخزين الوقت كرقم واحد يمثّل عدد الثواني منذ لحظة مرجعية ثابتة — بداية عام 1970 — أسهل بكثير للحواسيب من التعامل مع تنسيقات تاريخ مختلفة بين لغات البرمجة والدول. هذا الرقم، المعروف بطابع epoch، يُقارَن ويُرتَّب ويُخزَّن بسهولة، لكنه غير مقروء مباشرة لعين بشرية، فتحتاج أداة تحوّله إلى تاريخ يمكن فهمه فورًا.
من طابع رقمي إلى تاريخ، وبالعكس
تُدخل رقم الطابع الزمني فتحصل على التاريخ والساعة المقابلين بالمنطقة الزمنية التي تختارها، أو تُدخل تاريخًا وساعة فتحصل على الطابع الرقمي المكافئ. مفيد لمن يبني استعلام قاعدة بيانات يحتاج طابعًا زمنيًا محددًا، أو من يقرأ سجل نظام يعرض التواريخ كأرقام خام.
الفرق بين ثوانٍ وميلي ثانية
بعض الأنظمة تخزّن الطابع الزمني بالثواني، وأخرى بالميلي ثانية (جزء من ألف من الثانية)، والفرق بين الاثنين ثلاثة أصفار إضافية في الرقم يخلط كثيرًا من المطورين المبتدئين. تتعرف الأداة على طول الرقم المدخَل وتفسّره بالوحدة الصحيحة تلقائيًا، فتتفادى نتيجة تُظهر تاريخًا في المستقبل البعيد أو الماضي السحيق بالخطأ.
تحويل سجل كامل من طوابع زمنية عبر الـAPI
لنظام يحتاج تحويل عدد كبير من الطوابع الزمنية دفعة واحدة — كتقرير يعرض تواريخ قراءة من ملف سجل — يتيح الـAPI التحويل الجماعي بسعر $0.002 لكل طلب، بدل تحويل كل قيمة يدويًا في الصفحة.
حالات الاستخدام
فهم تاريخ في سجل نظام خام
يفحص مطور في شركة الخليج الرقمية سجل أخطاء يعرض التوقيت كرقم epoch، ويحوّله إلى تاريخ وساعة مقروءة لمعرفة متى وقع الخطأ فعليًا.
بناء استعلام قاعدة بيانات بتاريخ محدد
يحتاج مطور استعلام سجلات وقعت بعد تاريخ معين، فيحوّل التاريخ إلى طابع epoch أولًا ليستخدمه مباشرة في شرط الاستعلام.
تحويل تقرير كامل من طوابع زمنية
يعالج فريق تقني في مؤسسة النخيل للمقاولات تقريرًا يحتوي مئات الأسطر بتوقيت epoch، ويحوّلها جميعًا إلى تواريخ مقروءة عبر الـAPI قبل عرض التقرير للإدارة.
الأسئلة الشائعة
ما الفرق بين epoch وUnix timestamp؟
الاسمان يشيران لنفس الفكرة: عدد الثواني المنقضية منذ بداية عام 1970 بالتوقيت العالمي.
لماذا تظهر نتيجة بتاريخ غريب أحيانًا؟
غالبًا بسبب خلط الثواني بالميلي ثانية؛ تتعرف الأداة على الفرق تلقائيًا، لكن يُستحسن التحقق من طول الرقم الأصلي إن بدت النتيجة غير منطقية.
هل يمكن اختيار منطقة زمنية معينة عند التحويل؟
نعم، الطابع الزمني نفسه عالمي، لكن عرضه كتاريخ وساعة يعتمد على المنطقة الزمنية التي تختارها.
كم تكلفة تحويل سجل كامل عبر الـAPI؟
$0.002 لكل طلب، بغض النظر عن عدد الطوابع الزمنية ضمن الطلب نفسه.
هل الاستخدام من المتصفح مجاني بلا حدّ؟
نعم، بلا حدّ لعدد التحويلات اليدوية من هذه الصفحة.
هل تعمل الأداة من الجوال؟
نعم، صفحة ويب عادية تعمل من متصفح الجوال بنفس الطريقة على الحاسوب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/epoch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/epoch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/epoch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/epoch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/epoch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"items": [
"valor-1",
"valor-2"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.epoch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |