سؤال

لديّ تطبيق مقدمة يسمح لي بمقارنة النقاط الزمنية في الأحداث باستخدام تمثيل قائم على مقدمة العلاقات الـ 13 Allen. كل حدث له نقطة بداية (Yyyy-MM-DD) ونقطة نهاية (Yyyyy-MM-DD) ويمكنني التحقق مما إذا كان حدثان حدث في نفس الوقت أو واحد قبل آخر ، وما إلى ذلك حتى اليوم الحبيبي (على سبيل المثال 1555-12-03 هو قبل 1555-12-04). إنه يعمل بشكل جيد مع ما يسمى بالتواريخ AC (Anno Domini) ، لكن الآن لدي عدد كبير من الأحداث التي حدثت قبل الميلاد (قبل المسيح). ما هي أفضل طريقة للتعامل مع أحداث BC هذه وتكون قادرة على القول ، على سبيل المثال ، أن أساس أثينا (BC 1556) هو قبل ولادة كولومبوس (1451) ..... أي فكرة أكثر من موضع ترحيب.

شكرًا،

أنا.

هل كانت مفيدة؟

المحلول

كيف تقوم بتخزين تاريخك؟ إذا كان في بنيتك الخاصة ، فقم بتضمين AD أو BC ، واستخدم هذا كنوع من العلم السلبي ، حيث يعالج BC سنوات سلبية ، ويعالج سنوات إيجابية.

نصائح أخرى

أعتقد أنه يسأل عما إذا كانت تواريخك مخزنة في العديد من المتنبئين أو ما إذا كانت محددة فقط في تاريخ واحد مسند ، على سبيل المثال ، A_Date (12345 ، "12-24-2011") حيث الحقل الأول هو حقل معرف. هذا هو ، هل تخزن التواريخ كشيء مثل

a_date (event_id ، date_value)

أين تنسيق Date_value هو yyyy-mm-dd؟

أحد الحلول: تتطلب "إعلان" أو "قبل الميلاد" في سلسلة التاريخ ، مع الافتراضي "قبل الميلاد" ، ومعالجة غياب إما على أنها "إعلان".

حل آخر: إنشاء مسند جديد ، اتصل به

a_date (Elwing_id ، date_value ، flag)

حيث يكون العلم إما قبل الميلاد أو م. إذا كان العلم م ، فإن الرياضيات تستمر كالمعتاد. إذا كان العلم قبل الميلاد ، فانتقل إلى رمز جديد يقوم بالرياضيات المناسبة. سيتم تفسير تاريخ التاريخ الحالي للنموذج A_Date (event_id ، date_value) على أنه a_date (event_id ، date_value ، "ad")

هذا هو في الكود

a_date (event_id ، date_value): = a_date (event_id ، date_value ، "ad")

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top