هل هناك طريقة لتخزين والتلاعب فترة من الزمن أن يأخذ أطوال شهر، سنة كبيسة، وما إلى ذلك بعين الاعتبار؟

StackOverflow https://stackoverflow.com/questions/1608175

سؤال

وكنت على وشك أن أكتب هذا لنفسي، لكنني أعرف هذا ليس له وجود، وأنا مجرد إدارة لتجنب كل الكلمات الرئيسية جوجل من شأنه أن يؤدي لي الحق في ذلك.

وأرجو أن تبحث عن شيء مثل DDDMMMYYY حيث D، M، Y هي عدد الأيام والشهور والسنوات. لذا 00103000 شأنها أن تشير إلى فترة ثلاثة أشهر ويوم واحد، أو 000000001 من شأنه أن يشير فترة سنة واحدة. ومن الناحية المثالية بهذا الشكل سيكون أيضا وسيلة معيارية لتطبيقه يمكن أن تأخذ بعين الاعتبار كل من المزالق من حساب زمنية متفاوتة مثل عدد الأيام في الشهر، سنة كبيسة، وما إلى ذلك.

وأنا لا أبحث عن وسيلة لحساب فترة زمنية بين اثنين من الطوابع الزمنية المعروفة، وطلب هنا (<لأ href = "https://stackoverflow.com/questions/11/how-do-i-calculate-relative -Time "> احسب الوقت النسبي في C # )، أنا أبحث عن شيء مثل شكل سلسلة محددة يمكنني تخزين التي من شأنها أن تشير إلى فترة من الزمن ليتم استخدامها لتحديد موعد الثاني غير معروف من واحد معروف.

ومثل، وذلك باستخدام بلدي شكل وهمي أعلاه: إذا قلت "حساب ما سيكون تاريخ 00103000 من 15 سبتمبر 2009" سيعود "16 ديسمبر 2009"، وهو ثلاثة أشهر ويوم واحد بعد 15 سبتمبر.

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

المحلول

وأوصي تبحث في ISO 8061 شكل للحصول على فترات. فمن السهل ليس فقط لتحليل وتنطبق على تاريخ معين، بل هو معيار معروف جيدا مع الكثير من الموارد المتاحة.

وتحديد مدة من نقطتين في الوقت المناسب هو اصعب قليلا، ولكن فقط لأنه من دون مدخلات من التطبيق، فإنه من غير الواضح ما إذا كانت 1 مارس إلى 1-يونيو هو 3 أشهر أو 92 يوما. ومع ذلك، يمكن للشكل التعبير إما بالتساوي جيدا وكذلك، على سبيل المثال، 0.25 سنوات.

نصائح أخرى

وتمثيل أبسط والأكثر شيوعا لهذا هو رقمية: عدد الثواني في الفترة الزمنية (التي قد تكون أو لا تكون كسور، وهذا يتوقف على الاحتياجات الخاصة بك). العديد من المكتبات الوقت بالفعل تمثل الوقت الذي ثواني منذ عصر و، لذلك هذا يجعل الجمع والطرح الوقت تافهة. القضية الرئيسية الوحيدة للقلق هو تجاوزات (مثل عام 2038 علة ).

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