অ্যাক্টিভেকর্ডে বিভিন্ন তারিখ / সময় ফর্ম্যাটগুলির মধ্যে পার্থক্যটির সাথে রেইলগুলি এবং আপনি যে কোনও ডাটাবেস ব্যবহার করছেন তার সাথে কিছুই করার নেই।
একটি উদাহরণ হিসাবে মাইএসকিউএল ব্যবহার (অন্য কোন কারণ কারণ এটি সবচেয়ে জনপ্রিয় জন্য হলে), আপনি DATE
, DATETIME
, TIME
এবং TIMESTAMP
কলাম ধরনের তথ্য; আপনি ঠিক যেমন CHAR
, VARCHAR
, FLOAT
এবং INTEGER
।
সুতরাং, আপনি জিজ্ঞাসা, পার্থক্য কি? ঠিক আছে, তাদের মধ্যে কিছু স্ব-ব্যাখ্যামূলক। DATE
কেবল একটি তারিখ সঞ্চয় করে, TIME
কেবল দিনের একটি সময় DATETIME
সঞ্চয় করে , যখন উভয়ই সঞ্চয় করে।
মধ্যে পার্থক্য DATETIME
এবং TIMESTAMP
একটি বিট আরো সূক্ষ্ম হল: DATETIME
যেমন ফর্ম্যাট করা হয়েছে YYYY-MM-DD HH:MM:SS
। বৈধ রেঞ্জ বছর 9999 (এবং এর মধ্যে সব কিছু বছর 1000 থেকে যান। যদিও TIMESTAMP
সৌন্দর্য অনুরূপ যখন আপনি ডাটাবেস থেকে এটা আনা, সত্যিই এটি একটি মাত্র একটি ফ্রন্ট এর UNIX টাইমস্ট্যাম্প । তার বৈধ ব্যাপ্তির 1970 থেকে 2038. পার্থক্য যায় এখানে ডাটাবেস ইঞ্জিনের বিভিন্ন বিল্ট-ইন ফাংশনগুলি বাদে স্টোরেজ স্পেস রয়েছে। কারণ DATETIME
বছর, মাসের দিন, ঘন্টা, মিনিট এবং সেকেন্ডে প্রতিটি ডিজিট সংরক্ষণ করে এটি মোট 8 বাইট ব্যবহার করে AsTIMESTAMP
শুধুমাত্র সংখ্যা সঞ্চয় করে 1970-01-01 থেকে সেকেন্ডের মধ্যে এটি 4 বাইট ব্যবহার করে।
আপনি এখানে মাইএসকিউএলে সময়ের ফর্ম্যাটগুলির মধ্যে পার্থক্য সম্পর্কে আরও পড়তে পারেন ।
শেষের দিকে, এটি আপনার তারিখ / সময় কলামটি করতে হবে তা নেমে আসে। আপনার কি 1970 এর আগে বা 2038 এর পরে তারিখ এবং সময় সংরক্ষণ করতে হবে? ব্যবহার DATETIME
। আপনার কি ডাটাবেস আকার সম্পর্কে চিন্তা করতে হবে এবং আপনি সেই সময়ের ব্যবস্থার মধ্যে রয়েছেন? ব্যবহার TIMESTAMP
। আপনার কি কেবল একটি তারিখ সংরক্ষণ করা দরকার? ব্যবহার DATE
। আপনার কি কেবল একটি সময় সঞ্চয় করতে হবে? ব্যবহার TIME
।
এই সমস্ত কিছু বলার পরে, রিয়েলগুলি আসলে আপনার জন্য এই কয়েকটি সিদ্ধান্ত নেয় । উভয় :timestamp
এবং :datetime
ডিফল্ট করবে DATETIME
, যখন :date
এবং :time
অনুরূপ DATE
এবং TIME
যথাক্রমে।
এর অর্থ হ'ল রেলের মধ্যেই আপনাকে কেবল সিদ্ধান্ত নিতে হবে যে আপনাকে তারিখ, সময় বা উভয় সংরক্ষণ করতে হবে কিনা।