تحويل تاريخ ISO إلى Windows FILETIME
أدخل تاريخًا ووقتًا مع Z أو إزاحة رقمية واحصل على قيمة FILETIME في ويندوز، وهي عدد خطوات من 100 نانوثانية منذ 1 يناير 1601 بالتوقيت العالمي: 2025-01-01T00:00:00Z يساوي 133801632000000000. مفيد لبيانات السجل والتحقيق الجنائي الرقمي. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- التاريخ والوقت
- 2025-01-01T00:00:00Z
- التاريخ والوقت المُدخل
- 2025-01-01T00:00:00Z
- التاريخ والوقت UTC
- 2025-01-01T00:00:00.0000000Z
- FILETIME في Windows
- 133801632000000000
يحسب النظام فواصل مقدارها 100 نانوثانية منذ 1601-01-01T00:00:00Z، ويشترط أن تحدد المنطقة الزمنية صراحةً بواسطة Z أو إزاحة رقمية. يعتمد الحساب على أعداد صحيحة وتقويم ميلادي دقيقين، ولا يستعين بساعة الجهاز المحلية أو محلل التاريخ في المنصة. تتضمن النتيجة الإدخال الأصلي، وتمثيله الموحّد بالتوقيت UTC مع سبعة أرقام كسرية، ونص FILETIME العشري، ووصفاً واضحاً للوحدة.
تعرّف حقبة Windows FILETIME ووحدته
Windows FILETIME عدّاد صحيح تبدأ قيمته الصفرية عند منتصف الليل بالتوقيت UTC في 1 يناير 1601. تمثل كل زيادة 100 نانوثانية، ولذلك تكوّن عشرة ملايين وحدة ثانية واحدة، وتكوّن 864 مليار وحدة يوماً واحداً. تختلف هذه الحقبة والدقة عن توقيت Unix وميلي ثانية JavaScript وticks في .
NET DateTime، لذا قد يؤدي تغيير اسم طابع زمني مألوف أو ضربه مباشرةً إلى نتيجة خاطئة. يتحقق المحول أولاً من التاريخ الميلادي والساعة وكسر الثانية والمنطقة الزمنية المحددة. ثم يستخرج لحظة UTC الدقيقة ويقيس الفاصل منذ حقبة FILETIME بحساب صحيح.
يمنع النص التقريب الصامت في المتصفحات والجداول والتطبيقات.
استخدم منطقة ISO صريحة للحصول على UTC حتمي
لا يحدد تاريخ ISO ووقته من دون منطقة زمنية لحظة واحدة بعينها؛ فقد يعني الوقت المحلي لمحطة عمل، أو منطقة خادم، أو قيمة فُقدت إزاحتها عند التصدير. لذلك يجب تحديد Z للتوقيت UTC أو إزاحة رقمية مثل +05:30 أو -04:00. تُطرح الإزاحة الموجبة للوصول إلى UTC، وتُضاف الإزاحة السالبة.
فعلى سبيل المثال، يوافق منتصف الليل عند +02:00 الساعة 22:00 UTC من اليوم السابق. يعالج الحساب انتقال اليوم مباشرةً ويعيد نتيجة موحدة تنتهي بـ Z. لا يراجع منطقة الجهاز أو قواعد التوقيت الصيفي أو التاريخ الحالي أو الإعدادات الإقليمية أو البيئة، ولذلك يعطي النص نفسه النتيجة نفسها في كل مكان.
تُقبل الإزاحات حتى 14:00. أما المناطق المسماة مثل America/New_York فلا تُدعم لأنها تحتاج إلى قواعد تاريخية قابلة للتغير. إذا كان المصدر يحتوي وقتاً محلياً فقط، فيجب تحديد الإزاحة التاريخية الصحيحة وإضافتها قبل التحويل؛ إذ ينتج التخمين قيمة FILETIME دقيقة شكلاً لكنها خاطئة.
حافظ على الدقة وتحقق من بيانات الترحيل
يمكن أن يحتوي الإدخال من رقم واحد إلى سبعة أرقام في كسر الثانية. تُستكمل الأرقام الناقصة إلى اليمين، فتعني .1 عُشر ثانية، بينما تعبّر سبعة أرقام عن دقة FILETIME الكاملة البالغة 100 نانوثانية. تُرفض الدقة التي تتجاوز سبعة أرقام بدلاً من تقريبها أو اقتطاعها، لأن كليهما قد يغيّر اللحظة الممثلة دون وضوح.
يرفض التحقق أيضاً التواريخ المستحيلة والثواني الكبيسة والإزاحات المشوهة وأوقات الساعة الخارجة عن نطاقها. بعد تطبيق المنطقة الزمنية، يجب أن تقع لحظة UTC بين حقبة FILETIME وآخر فاصل من 100 نانوثانية في سنة 9999. تجعل هذه الحدود السجلات الرديئة ظاهرة أثناء الترحيل.
احتفظ بالحقلين وقارنهما كنصين في اختبارات الانحدار. ولأن التنفيذ لا يستخدم شبكة أو عشوائية أو ساعة النظام أو الكائن Date، فإن الإدخال المقبول نفسه يعطي النتيجة نفسها تماماً في كل تشغيل.
حالات الاستخدام
التحقق من ترحيل أدلة المستخدمين
احسب قيم FILETIME لحقول الوقت مع الاحتفاظ بقيمة UTC موحدة يمكن للمراجعين تدقيقها.
تحليل السجل والخطوط الزمنية الجنائية
أنشئ قيماً مرجعية معروفة لـFILETIME من لحظات ISO صريحة للاختبارات والتحقيقات والتحليل الزمني.
الأسئلة الشائعة
ما حقبة Windows FILETIME؟
يبدأ FILETIME عند 1601-01-01T00:00:00Z ويعد فواصل مقدارها 100 نانوثانية منذ تلك اللحظة.
لماذا يجب أن يتضمن تاريخ ISO منطقة زمنية؟
يكون التاريخ بلا Z أو إزاحة ملتبساً. يجعل اشتراط المنطقة التحويل إلى UTC حتمياً.
كم رقماً كسرياً يقبل الإدخال؟
يُقبل حتى سبعة أرقام بما يوافق دقة 100 نانوثانية، وتُرفض الدقة الأعلى بدلاً من تقريبها.
هل يستخدم المحول منطقة النظام أو ساعته؟
لا، فهو يستخدم الإدخال الصريح وحساب التقويم الميلادي الصحيح والحتمي فقط.
لماذا تظهر النتيجة نصًا لا رقمًا؟
لأن قيم FILETIME الحالية أكبر مما تستطيع برامج وجداول بيانات كثيرة حفظه بدقة كرقم. وإبقاؤها نصًا يمنع التقريب الصامت قبل حفظ القيمة أو تمريرها إلى نظام آخر.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/date/iso-to-windows-filetime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime":"2025-01-01T00:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/iso-to-windows-filetime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"datetime": "2025-01-01T00:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-to-windows-filetime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"datetime": "2025-01-01T00:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-to-windows-filetime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"datetime":"2025-01-01T00:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"datetime":"2025-01-01T00:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-to-windows-filetime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"datetime": "2025-01-01T00:00:00Z"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_to_windows_filetime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
حوّل تاريخاً ووقتاً بصيغة ISO 8601 إلى قيمة Windows FILETIME العشرية التي تستخدمها واجهات Windows API وActive Directory والسجل وأدوات التحليل الجنائي.
تعرّف حقبة Windows FILETIME ووحدته
تُعاد windows_filetime كنص عشري لأن تطبيقات JSON كثيرة لا تمثل قيم FILETIME الحديثة بدقة. يوضح الحقل unit معنى القيمة، بينما يقدم utc_datetime تمثيلاً مقروءاً يمكن مراجعته قبل تخزين العدد أو تمريره إلى نظام آخر. تبلغ كلفة كل تحويل آلي $0.002.
حافظ على الدقة وتحقق من بيانات الترحيل
استخدم windows_filetime عند إنشاء بنية Windows أو سمة LDAP أو تصدير للسجل أو حمولة متوافقة، واستخدم utc_datetime في سجلات التدقيق واختبارات التحقق.
حالات التكامل
إعداد حمولات واجهات Windows API
حوّل تاريخ UTC مقروءاً أو تاريخاً ذا إزاحة إلى قيمة FILETIME العشرية الدقيقة التي يتوقعها تكامل Windows.
أسئلة تقنية
لماذا تُعاد قيمة FILETIME كنص؟
تتجاوز أعداد FILETIME المعتادة النطاق الدقيق لأعداد JSON الشائعة، ويحفظ النص العشري جميع الأرقام.
ما كلفة التحويل الواحد؟
تبلغ كلفة كل تحويل عبر API مقدار $0.002.