بيثون التقويم الوحدة النمطية جزء من المكتبة القياسية. يسمح بإخراج تقويم حسب الشهر أو حسب السنة ويوفر أيضًا وظائف أخرى مرتبطة بالتقويم.
ال التقويم الوحدة النمطية نفسها تعتمد على وحدة التاريخ والوقت. لكننا سنحتاج أيضا وقت لأغراضنا الخاصة في وقت لاحق ، لذلك من الأفضل استيراد كلاهما. أيضا ، من أجل القيام ببعض تقسيم السلسلة ، سنحتاج إلى إعادة وحدة. دعنا نستوردهم جميعًا دفعة واحدة.
بشكل افتراضي ، تبدأ التقويمات في الأسبوع مع يوم الاثنين (اليوم 0) ، وفقًا للاتفاقية الأوروبية ، وتنتهي يوم الأحد (اليوم السادس). إذا كنت تفضل الأحد كاليوم الأول من الأسبوع ، فاستخدم setfirstweekday () طريقة لتغيير الافتراضي إلى يوم 6 كما يلي:
للتبديل بين الاثنين ، يمكنك تمرير اليوم الأول من الأسبوع كحجة باستخدام تميز الكلية وحدة. ثم تحقق من القيمة مع إذا بيان وتعيين setfirstweekday () طريقة وفقا لذلك.
في تقويمنا ، سيكون من الجيد أن يكون هناك رأس للتقويم الذي يقرأ شيئًا مثل "تقويم منشئ بيثون لـ ..." ويكون له الشهر والسنة الحاليين. للقيام بذلك ، نحتاج إلى الحصول على الشهر والسنة من النظام. هذه الوظيفة شيء التقويم يوفر ، بيثون يمكن استرداد الشهر والسنة. ولكن لا يزال لدينا مشكلة. نظرًا لأن جميع تواريخ النظام رقمية ولا تحتوي على أشكال غير مختصرة أو غير رقمية للأشهر ، فنحن بحاجة إلى قائمة بتلك الأشهر. أدخل القائمة
عام.الآن عندما نحصل على رقم الشهر ، يمكننا الوصول إلى هذا الرقم (ناقص واحد) في القائمة والحصول على اسم الشهر بالكامل.
الغريب ، و وقت وحدة لديها وقت صف دراسي. من هذه الفئة نسمي كائنين: الآن() و تاريخ(). طريقة datetime.datetime.now () تقوم بإرجاع كائن يحتوي على المعلومات التالية: السنة والشهر والتاريخ والساعة والدقيقة والثانية والثانية. بالطبع ، ليست لدينا حاجة للحصول على معلومات الوقت. لإلغاء معلومات التاريخ وحدها ، نجتاز نتائج الآن() إلى datetime.datetime.date () كحجة. والنتيجة هي ذلك اليوم يحتوي الآن على السنة والشهر والتاريخ مفصولة بشرطة em.
لتقسيم هذه البيانات إلى أجزاء يمكن التحكم فيها ، يجب تقسيمها. يمكننا بعد ذلك تعيين الأجزاء للمتغيرات الحالية_ سنة, الشهر الحاليو اليوم الحالي على التوالي.
لفهم السطر الأول من هذا الرمز ، اعمل من اليمين إلى اليسار ومن الداخل إلى الخارج. أولاً ، نقوم بتوحيد الكائن اليوم من أجل العمل عليها كسلسلة. بعد ذلك ، نقوم بتقسيمه باستخدام شرطة em كمحدد أو رمز مميز. أخيرًا ، نقوم بتعيين هذه القيم الثلاث كقائمة على "الحالية".
من أجل التعامل مع هذه القيم بشكل أكثر وضوحا واستدعاء الاسم الطويل للشهر الحالي من عام، نقوم بتعيين عدد الشهر ل current_no. يمكننا بعد ذلك القيام ببعض الطرح في منخفض عام وتعيين اسم الشهر ل الشهر الحالي.
في السطر التالي ، هناك حاجة إلى القليل من الاستبدال. التاريخ الذي يتم إرجاعه من وقت هي قيمة مكونة من رقمين حتى بالنسبة للأيام التسعة الأولى من الشهر. يعمل الصفر كصاحب مكان ، لكننا نفضل أن يكون تقويمنا يتكون من رقم واحد فقط. لذلك نحن لا نستبدل أي قيمة لكل الصفر الذي يبدأ سلسلة (وبالتالي '\ A'). أخيرا ، نخصص السنة ل الحالية_ سنة، تحويله إلى عدد صحيح على طول الطريق.
تتطلب الأساليب التي سنتصل بها لاحقًا إدخالًا بتنسيق صحيح. لذلك ، من المهم التأكد من حفظ جميع بيانات التاريخ في نموذج صحيح ، وليس في سلسلة.
قبل طباعة التقويم ، نحتاج إلى طباعةلغة البرمجة تخطيط الديباجة و CSS للتقويم الخاص بنا. انتقل إلى هذه الصفحة للحصول على الكود لطباعة ديباجة CSS و HTML للتقويم. وانسخ الرمز إلى ملف البرنامج الخاص بك. يتبع CSS في HTML الخاص بهذا الملف القالب المقدم من Jennifer Kyrnin ، About About Guide to Web Design. إذا كنت لا تفهم هذا الجزء من الشفرة ، فقد ترغب في استشارة مساعدتها لتعلم CSS و HTML. أخيرًا ، لتخصيص اسم الشهر ، نحتاج إلى السطر التالي:
الآن وقد أصبح التصميم الأساسي هو الإخراج ، يمكننا إعداد التقويم نفسه. التقويم ، في أبسط نقاطه ، هو جدول. لذلك دعونا نجعل طاولة في HTML لدينا:
نحن الآن بحاجة إلى إنشاء التقويم الفعلي. للحصول على بيانات التقويم الفعلية ، نحتاج إلى التقويم الوحدة النمطية تقويم شهري () طريقة. تأخذ هذه الطريقة وسيطين: عام وشهر التقويم المطلوب (كلاهما في شكل عدد صحيح). تقوم بإرجاع قائمة تحتوي على قوائم بتواريخ الشهر حسب الأسبوع. لذلك إذا عدنا عدد العناصر في القيمة التي يتم إرجاعها ، فلدينا عدد الأسابيع في الشهر المحدد.
معرفة عدد الأسابيع في الشهر ، يمكننا إنشاء إلى عن على حلقة التي تحسب من خلال أ نطاق() من 0 إلى عدد الأسابيع. كما هو الحال ، فإنه سيتم طباعة بقية التقويم.
بعد بدء هذا النطاق ، يتم إعدام تواريخ الأسبوع من شهر وفقا لقيمة العداد والمخصصة ل أسبوع. ثم ، يتم إنشاء صف جدولي للاحتفاظ بتواريخ التقويم.
أ إلى عن على حلقة ثم يمشي خلال أيام الأسبوع حتى يمكن تحليلها. ال التقويم تطبع الوحدة النمطية "0" لكل تاريخ في الجدول لا يحتوي على قيمة صالحة. ستعمل القيمة الفارغة بشكل أفضل لأغراضنا ، لذلك نقوم بطباعة نهايات بيانات الجداول بدون قيمة لتلك التواريخ.
بعد ذلك ، إذا كان اليوم هو اليوم الحالي ، فيجب أن نسلط الضوء عليه بطريقة أو بأخرى. على أساس اليوم صف دراسي اليومسيؤدي CSS في هذه الصفحة إلى عرض التاريخ الحالي على خلفية مظلمة بدلاً من الخلفية الفاتحة للتواريخ الأخرى.
أخيرًا ، إذا كان التاريخ قيمة صالحة وليس التاريخ الحالي ، فسيتم طباعته كبيانات جدولية. يتم الاحتفاظ بتركيبات الألوان الدقيقة لهذه في مقدمة نمط CSS.
يمكن استخدام هذا التقويم البسيط بأي طريقة تحتاج إلى تمثيل تقويم. عن طريق الارتباط التشعبي للتواريخ في HTML ، يمكن للمرء بسهولة إنشاء وظيفة مذكرات. بدلاً من ذلك ، يمكن للمرء التحقق من ملف مذكرات ومن ثم عكس التواريخ التي يتم التقاطها حسب لونها. أو إذا قام أحدهم بتحويل هذا البرنامج إلى برنامج نصي CGI ، فيمكنه إنشاء البرنامج أثناء الطيران.