میلاد هدایت پور
4 سال پیش توسط میلاد هدایت پور مطرح شد
7 پاسخ

طراحی دیتابیس سامانه رزرو

سلام
من میخام سامانه رزرواسیون درست کنم
سوالم اینه که تاریخ ها و زمان هارو چجوری توی دیتابیس ذخیره کنم که کارم راحت تر شه برای کار باهاشون (از کار با تاریخ متنفرم 😂)
اول اینکه فیلدام از چه نوعی باشن بهتره و دوم این که به صورت میلادی همه چیز رو ذخیره کنم و فقط برای نمایش به شمسی تبدیل کنم بهتره؟
بعد دقتش نمیاد پایین موقع تبدیل؟
و اینکه برای مقایسه تاریخ ها و.... توابع یا پکیج خاصی میشناسید؟


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
1

سلام

بله. بهترین روش همین هست که زمان ها رو حتما حتما به صورت میلادی و استاندارد (مثلا فرمت Datetime) ذخیره کنید. چون قطعا در موار متعددی باید با این تاریخ ها سر و کله بزنید و پردازش انجام بدید. پس مهمه که به فرمتی باشه که مشکلی پیش نیاد. فقط در confit/app.php بایستی locale تون رو برای ایران نتظیم کنید.

از نظر دقت هم خاطرتون جمع موقع تبدیل هیچ گونه خطایی نداره.

از دو تا پکیج زیر میتونید برای تبدیل تاریخ ها استفاده کنید:
https://github.com/morilog/jalali
https://github.com/hekmatinasser/verta


وحید رضازاده
تخصص : برنامه نویس
@vahidrezazadeh 4 سال پیش مطرح شد
0

@miladparsi1070
سلام
بستگی به فریم ورک و تکنولوژی مورد استفادتون داره
با چی میخواین کار کنید؟
۲ روش کلی هست ، یکی اینکه از DateTime در دیتابیس استفاده کنید (روش معمول )
و یکی اینکه تاریخ رو بصورت عدد Int ذخیره کنی ، مثلا ۱۳۹۹۰۴۱۲ ، یا بصورت timestamp
همه اینا به تکنولوژی و ساختار DB بستگی داره


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
0

@mhyeganeh
اها مرسی
پس تاریخ رو datetime دخیره میکنم
ساعت رو با چه فرمتی ذخیره کنم؟


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
0

@vahidrezazadeh
با لاراول قراره بزنم
احتمال زیاد به صورت datetime ذخیره کنم پس


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

@miladparsi1070

اگر فقط تاریخ رو خواستید فرمتش میشه date. ولی فرمت datetime هم شامل تاریخ هست و هم زمان (همون ساعت) . به خاطر همین اسمش datetime هست. 😉 اینجوری:

2020-07-01 17:20:47

مثل همون فرمتی که خود لاراول برای فیلدهای created_at و updated_at استفاده میکنه.


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
0

@mhyeganeh
بله درسته
و سوال اخر اینکه به نظرتون ساعت و تاریخ رو جدا ذخیره کنم یا باهم؟
خوئم نظرم اینه که همچی جدا باشه تا پیچیدگی حداقل شه


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

به نظرم با همون فرمت datetime یعنی با هم اگر ذخیره کنید در پایین ترین سطح پیچیدگی خواهد بود. با متدهای از پیش تعریف شده ای که وجود داره هر وقت خواستید میتونید خیلی راحت فقط تاریخ، فقط سال، یا فقط ساعت و دقیقه و ... رو هر کدوم جداگانه و با هر فرمتی که خواستید بگیرید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام