سلام.
بهترین و ساده ترین روش برای نگه داری تاریخ چیه؟! بصورت رشته ای ذخیره کنم؟! یا تبدیل کنم به میلادی بعد ذخیره کنم؟! یا روش دیگه ای هم هست؟!
.
تاریخ و ساعت رو حتما باید دقیق ذخیره کنم، همچنین روی این تاریخ یکسری محاسبات ممکنه بعدها انجام بشه.
.
مثلا امروز داده ای توی بانک ذخیره شده که بعداً نیاز هست که بدونیم این داده ی وارد شده چه مدت پیش در سیستم وارد شده است؟!
.
لطفاً راهنمایی کنید.
بهترین و ساده ترین روش به کوئری هایی که روشون اجرا می کنید و کاربردی که براتون دارند بستگی داره. ممکنه یکجا رشته "24-06-1391" مناسب تر باشه
و یکجا اعداد صحیح 13910624 و یکجا DateTime و تقویم میلادی.
از نظر تعدادی، روش های ذخیره سازی تاریخ خیلی زیاد و متنوع اند. در انتخاب روش و فرمت داده ای که انتخاب می کنید هم کاربرد مهمه و هم حجم تراکنش ها و محاسبات
و هم ملاکی که برای شما اهمیت بیشتری داره. همیشه سادگی و یا سرعت ملاک نیست، بعضی اوقات سعی می کنند
فرمت ای رو بکار ببرند که تفسیر اش و یا دستکاری کردنش سخت باشه تا امنیت تاریخ هایی که ثبت می کنند بالاتر بره. ممکنه برای کاربردی
لازم بشه که تاریخ رو هم به شمسی/میلادی و هم قمری در دو فیلد جداگانه ذخیره کنید، چون الحمدا.. تقویم قمری مون با هیچ فرمولی جواب قطعی نمیده.
ممکنه تعداد رکورد ها اونقدر زیاد باشه که برای تشخیص رکورد های روز "جمعه" یک فیلد مجزا برای ثبت کردن "روز در هفته" در نظر بگیرید.
برای مثال هایی که شما زدید، پیشنهاد می کنم که از خود فرمت تاریخ بانک اطلاعاتی (DateTime در SQL Server) استفاده بکنید، کاملا مناسبه.
مادامی که نخواهید تاریخ شمسی رو نمایش بدید و یا ثبت نکنید نیازی به تبدیل تاریخ نیست. یعنی برای پیدا کردن رکورد هایی که تا 10 روز قبل
ایجاد شده اند و یا پیدا کردن اختلاف زمانی شون با الان نیازی به تبدیل کردن شون از میلادی به شمسی نیست. روز 86400000 میلی ثانیه است،
چه شمسی و چه میلادی. شما زمانی تاریخ شمسی لازم تون میشه که محاسبه تون به ماه و سال ربط پیدا کنه. فرضا بخواهید بدانید تا آخر ماه
چند روز مونده و یا بخواهید بدانید این رکورد مربوط به امسال ئه یا پارسال.