এটি একটি গুরুত্বপূর্ণ এবং আশ্চর্যজনকভাবে কঠিন সমস্যা। সত্যটি হ'ল অবিচল সময়টির জন্য কোনও সন্তুষ্ট মানক নেই। উদাহরণস্বরূপ, এসকিউএল স্ট্যান্ডার্ড এবং আইএসও ফর্ম্যাট (আইএসও 8601) পরিষ্কারভাবে যথেষ্ট নয়।
ধারণাগত দৃষ্টিকোণ থেকে, একজন সাধারণত দুই ধরণের সময়-তারিখের ডেটা নিয়ে কাজ করেন এবং তাদের পার্থক্য করা সুবিধাজনক (উপরের মানগুলি না করে): " শারীরিক সময় " এবং " নাগরিক সময় "।
সময়ের একটি "শারীরিক" তাত্ক্ষণিকতা অবিচ্ছিন্ন সর্বজনীন টাইমলাইনের একটি বিষয় যা পদার্থবিজ্ঞান ডিল করে (অবশ্যই আপেক্ষিকতা উপেক্ষা করে)। এই ধারণাটি ইউটিসি-তে পর্যাপ্ত পরিমাণে কোডেড-বজায় রাখা যেতে পারে, উদাহরণস্বরূপ (যদি আপনি লিপ সেকেন্ড উপেক্ষা করতে পারেন)।
একটি "সিভিল" সময় একটি তারিখের নির্দিষ্টকরণ যা নাগরিক রীতি অনুসরণ করে: এখানে সময়ের একটি বিন্দু সম্পূর্ণরূপে ডেটটাইম ক্ষেত্রগুলির সেট দ্বারা নির্ধারিত হয় (ওয়াই, এম, ডি, এইচ, এমএম, এস, এফএস) প্লাস একটি টিজেড (টাইমজোন স্পেসিফিকেশন) (একটি "ক্যালেন্ডার "ও আসলে; তবে ধরে নেওয়া যাক আমরা গ্রেগরিয়ান ক্যালেন্ডারে আলোচনা সীমাবদ্ধ করে রেখেছি)। একটি সময় অঞ্চল এবং একটি ক্যালেন্ডার সম্মিলিতভাবে (নীতিগতভাবে) একের থেকে অন্যকে উপস্থাপনের ম্যাপ দেয়। তবে নাগরিক ও শারীরিক সময়ের তাত্ক্ষণিকতা মূলত বিভিন্ন ধরণের মাত্রা এবং এগুলি ধারণাগতভাবে পৃথক এবং আলাদাভাবে আচরণ করা উচিত (একটি সাদৃশ্য: বাইটস এবং চরিত্রের স্ট্রিংগুলির অ্যারে)।
বিষয়টি বিভ্রান্তিকর কারণ আমরা এই ধরণের ঘটনাগুলি আন্তঃবিন্যভাবে বলি এবং নাগরিক সময়গুলি রাজনৈতিক পরিবর্তনের সাপেক্ষে। সমস্যা (এবং এই ধারণাগুলি আলাদা করার প্রয়োজন) ভবিষ্যতের ইভেন্টগুলির জন্য আরও স্পষ্ট হয়ে ওঠে। উদাহরণ (আমার আলোচনা থেকে এখানে নেওয়া ।
জন তার ক্যালেন্ডারে তারিখের সময় কিছু ইভেন্টের জন্য একটি অনুস্মারক রেকর্ড করে
2019-Jul-27, 10:30:00
, টিজেড = Chile/Santiago
, (যা জিএমটি -4 অফসেট করেছে, সুতরাং এটি ইউটিসির সাথে সম্পর্কিত 2019-Jul-27 14:30:00
)। তবে ভবিষ্যতের কোনও দিন, দেশটি টিজেড অফসেটকে জিএমটি -5 এ পরিবর্তন করার সিদ্ধান্ত নিয়েছে।
এখন, যখন দিনটি আসবে ... সেই অনুস্মারকটি চালু করা উচিত
ক) 2019-Jul-27 10:30:00 Chile/Santiago
= UTC time 2019-Jul-27 15:30:00
?
অথবা
খ) 2019-Jul-27 9:30:00 Chile/Santiago
= UTC time 2019-Jul-27 14:30:00
?
কোনও সঠিক উত্তর নেই, যদি না জন জানেন যে তিনি যখন ক্যালেন্ডারটি "দয়া করে আমাকে রিং করুন" বলছিলেন তখন ধারণামূলকভাবে কী বোঝাতে চেয়েছিলেন 2019-Jul-27, 10:30:00
TZ=Chile/Santiago
।
তার অর্থ কি "নাগরিক তারিখ-সময়" ("যখন আমার শহরের ঘড়িগুলি 10:30" বলবে)? সেক্ষেত্রে ক) সঠিক উত্তর।
বা তার অর্থ কি একটি "শারীরিক তাত্ক্ষণিক তাত্ক্ষণিক", যা আমাদের মহাবিশ্বের সময়ের ধারাবাহিক লাইনের একটি বিন্দু ছিল, "পরবর্তী সূর্যগ্রহণ কখন হবে" বলেছিলেন। সেক্ষেত্রে, উত্তর বি) সঠিকটি।
কয়েকটি তারিখ / সময়ের এপিআইগুলি এই পার্থক্যটি সঠিকভাবে পায়: তাদের মধ্যে জোডাটাইম , যা পরবর্তী (তৃতীয়!) জাভা ডেটটাইম এপিআই (জেএসআর 310) এর ভিত্তি।
GETDATE()
এসকিউএল -এ এই পদ্ধতিটি ইউটিসি হবে (যেমন হবেDateTime.Now
)। এবং সার্ভারটি কোনও ধরণের স্বয়ংক্রিয় ডিএসটি পরিবর্তনের দ্বারা প্রভাবিত হবে না।