নন-পার্থিব ক্যালেন্ডার বাস্তবায়ন করা হচ্ছে


91

আমি যখন অন্য প্রশ্নের সমাধানের দিকে নজর দিচ্ছিলাম তখন আমি নিজেকে ভাবছিলাম যে NET এর Calendarক্লাসটি পার্থিব সম্মেলনের উপর ভিত্তি করে নয় এমন একটি ক্যালেন্ডার বাস্তবায়নের জন্য সম্ভব কিনা ।

উদাহরণস্বরূপ, মঙ্গল গ্রহের দিন পৃথিবীতে একটি দিনের চেয়ে প্রায় 2.7% দীর্ঘ:

আজ অবধি মহাকাশযান ল্যান্ডার প্রকল্পগুলির দ্বারা ব্যবহৃত একটি সম্মেলন হল ২৪ ঘন্টা "মঙ্গল ঘড়ি" ব্যবহার করে স্থানীয় সৌর সময়ের উপর নজর রাখা, যার সময়কালে, মিনিট এবং সেকেন্ডগুলি তাদের মান (পৃথিবী) সময়কালের চেয়ে ২.7% দীর্ঘ longer

কোন ভাল উপায় বাস্তবায়ন হয় MarsCalendarযেমন যে এক সেকেন্ডের দৈর্ঘ্য মান থেকে ভিন্ন GregorianCalendar, এবং এইভাবে ব্যবহার করতে পারবেন DateTimeসবার জন্য এটা উপর ভিত্তি করে বস্তু মান AddDays(), AddHours()ইত্যাদি ফাংশন? (দ্রষ্টব্য: আদর্শভাবে, একটি সমাধান - যদি এটি উপস্থিত থাকে - এমন কোনও গ্রহের গ্রহের ক্ষেত্রে প্রযোজ্য যার জন্য ধারাবাহিক দৈর্ঘ্যের "1 দিন" এবং "1 বছর" উভয়ই সংজ্ঞায়িত করা সম্ভব। মঙ্গল মঙ্গল একটি দুর্দান্ত উদাহরণ হিসাবে দেখায় )


4
Hmmm যে প্রথমবার আমি দেখতে হবে Martians পি: আমাদের প্রযুক্তির উপর নির্ভরশীল
user2711965

17
"দিনের সেরা প্রশ্নের জন্য" একটি ব্যাজ থাকা উচিত, এবং এটি এটি জিততে হবে!
শান

4
@ ডেভিডখায়কিন - একবার আপনি যদি কোনও দিনের চেয়ে বড় কিছু পেতে পারেন তবে ২.7% রূপান্তরটি ভেঙে যায়। ঘন্টা / মিনিট / সেকেন্ড ঘূর্ণন গতির উপর ভিত্তি করে, যখন দিন / মাস / বছরগুলি কক্ষপথের গতির উপর ভিত্তি করে। অন্যদিকে, Calendarইতিমধ্যে প্রতি বছর দিনের নির্ধারিত সংখ্যা নির্ধারণকে সমর্থন করে।
ববসন

4
এফওয়াইআই, এটি কোনও সি # Calendarশ্রেণি নয়। একই শ্রেণিটি ভিবি.এনইটি বা অন্য কোনও। নেট ভাষা ব্যবহার করতে পারে। এটা Calendar। নেট ক্লাস।
জন স্যান্ডার্স

4
এটি এক ধরণের আকর্ষণীয়। যে কোনও পৃথিবী ভিত্তিক ক্যালেন্ডার মঙ্গল গ্রহে ট্র্যাকিং সময় প্রসঙ্গে নিরর্থক হতে পারে। পৃথিবীর সময়ে, মঙ্গল 29 ঘন্টা, 39 মিনিট, 35 সেকেন্ডে ঘোরে। একটি মার্চিয়ান বছর হল 1.8809 পৃথিবী বছর। তবে মঙ্গল যদি আপনার রেফারেন্সের ফ্রেম হয় তবে সেগুলি সমস্ত অর্থহীন। আপনার দিনটি ঠিক দীর্ঘ হলেও মঙ্গল গ্রহের অক্ষটিকে একবারে ঘোরার জন্য সময় নেয়। এটিকে সুবিধাজনক সংখ্যক টুকরো টুকরো করে ভাগ করুন, আপনি "ঘন্টা" পান " এগুলি ভাগ করুন, আপনি মিনিট পান, সেগুলি ভাগ করুন এবং আপনি সেকেন্ড পান। বিভাগগুলি কেবল গাণিতিকভাবে কার্যকর, আমরা তাদেরকে যা বলেছি তার বাইরে কোনও অর্থ নেই।
ক্রেগ

উত্তর:


13

System.Globalization.Calendarবিশ্বায়নের নেমস্পেসের (যেমন JapaneseCalendar) এর মধ্য থেকে নেওয়া বেশ কয়েকটি নন-গ্রেগরিয়ান ক্যালেন্ডার ক্লাস রয়েছে । আপনার নিজের প্রয়োগ করতে সক্ষম হওয়া উচিত। আমি একটি নমুনা চাবুক করতে চাই, তবে ক্যালেন্ডার শ্রেণিতে 16 টি বিমূর্ত পদ্ধতি রয়েছে ...

এমনকি আপনি কেবল নিজের ক্লাসটি উত্স থেকে বের করতে এবং কেবল পদ্ধতিটিকে GregorianCalendarওভাররাইড করতে সক্ষম হতে GetMilliseconds(DateTime)পারেন, বেসটির ফেরতের মানটি দ্বারা গুণিত করে 1.027d


4
মজাদার. এটি কি বড় সময়ের ইনক্রিমেন্ট পর্যন্ত প্রচার করবে, বা আমি কি প্রত্যেককে আলাদা করে ওভাররাইড করব?
ববসন

4
অন্যান্য ক্যালেন্ডারগুলিতে আরও কিছু গবেষণা করার পরে, আমি অনুমান করতে পারি যে গ্রেগরিয়ানক্যালেন্ডার এবং অন্যান্য ক্যালেন্ডারগুলি তার সমস্ত গেটএক্স পদ্ধতির পিছনে গণিতের জন্য প্রতিটি ডেটটাইমটির পাস করা টিক্স সম্পত্তি ব্যবহার করে। এটি ডেটটাইম মানগুলির সাথে জটিল হয়ে ওঠে, কারণ ডেওফায়ার, ডেওফমনেথ এবং ডেওফিউক বৈশিষ্ট্যগুলি পার্থিব মানগুলিতে আবদ্ধ থাকে। কোন বিল্ট-ইন System.Globalization নামস্থানে ক্যালেন্ডার নেই যে আরো , তাই আমি ঐ বাতাবদ্ধ মান অনুমান করছি উপেক্ষিত হতে পারে না, তাই আপনি প্রয়োজন হতে পারে তুলনায় 12 মাস বা তার চেয়ে বেশি 365 দিন (যদিও কিছু কম দিন আছে) আপনার নিজস্ব ডেটটাইম কাঠামো।
মাইকেল হফম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.