"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تبادل كائنات التاريخ والوقت بين Python وJavaScript باستخدام JSON؟

كيفية تبادل كائنات التاريخ والوقت بين Python وJavaScript باستخدام JSON؟

تم النشر بتاريخ 2024-11-09
تصفح:520

How to Exchange Datetime Objects Between Python and JavaScript Using JSON?

وقت تاريخ JSON بين Python وJavaScript

قد يكون تبادل كائنات التاريخ والوقت بين Python وJavaScript باستخدام JSON أمرًا صعبًا بسبب الاختلافات في تاريخ كل منهما و تنسيقات الوقت. لمعالجة هذه المشكلة، يمكننا تنفيذ معالجات تسلسل وإلغاء تسلسل JSON مخصصة.

في Python، يمكنك تحديد وظيفة معالج تسلسل باستخدام المعلمة الافتراضية في وظيفة json.dumps. سيتم استدعاء هذا المعالج عند مواجهة كائن وقت وتاريخ أثناء التسلسل. يوضح مقتطف التعليمات البرمجية التالي كيفية إنشاء معالج لكائنات التاريخ والوقت الذي يحولها إلى تنسيق ISO 8601:

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
سيؤدي هذا إلى إخراج كائن التاريخ والوقت كسلسلة بتنسيق ISO 8601:

"2010-04-20T20:08:21.634121"
في JavaScript، يمكنك استخدام معالج إلغاء التسلسل المخصص لتحويل سلسلة ISO 8601 المستلمة مرة أخرى إلى كائن وقت وتاريخ. قد تبدو وظيفة معالج إلغاء التسلسل الشامل كما يلي:

function handler(obj) {
    if (typeof obj === 'string') {
        if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
            // ISO 8601 Date string
            return new Date(obj);
        }
    }

    return obj;
}
باستخدام هذه المعالجات المخصصة، يمكنك تبادل كائنات التاريخ والوقت بسلاسة بين Python وJavaScript باستخدام JSON، مما يضمن التوافق بين النظامين الأساسيين.

بيان الافراج أعيد طبع هذه المقالة على: 1729422917 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3