آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بهترین راه برای ذخیره تاریخ چیست؟

PandaStudio  11 سال پیش  11 سال پیش
+3 0

سلام دوستان

من دارم یه برنامه ERP(مدیریت منابع سازمان) می نویسم که اساس همه چیز اون برپایه گزارش گیری روی تاریخ هست به نظرتون بهترین راه برای ثبت تاریخ چیه این نکته هم بگم که تاریخ باید حتما شمسی باشه؟

    1- ذخیره به صورت یک استرینگ مثل 1393/07/16

    2- ذخیره به صورت استرینگ اما روز و ماه و سال هر کدوم توی یک فیلد جداگانه باشن

    3- ذخیره با فرمت تاریخ (که زیاد راجبش نمی دونم)

 

چیزی که خیلی برام اهمیت داره گزارش گیری در بازه های زمانی هست که خود کاربر ابتدا و انتها بازه را مشخص میکنه، و چیز دیگه اینکه سر یکسری تاریخ های از پیش تعیین شده سیستم آلارم بده

0 0
من برای پروژم که گزارش گیریش بر اساس تاریخ بود از روش اول استفاده کردم. اول تاریخ میلادی رو به شمسی تبدیل کردم بعد ازش استفاده کردم. ولی برای گزارش گیری توی یک بازه زمانی مشخص فکر کنم باید از روش دوم استفاده بشه (11 سال پیش)
+3 0
همه چیزو بر اساس تاریخ میلادی نگهداری کن و گزارشاتت هم بر همین اساس باشه. تاریخ شمسی رو هم جهت سربار کمتر موقع نمایش تو لیستها ذخیره کن. در حقیقت گزارش گیریت میشه بر اساس یه فیلدی از نوع DateTime و نمایش بر اساس یه فیلد استرینگ (11 سال پیش)
0 0
میشه لطف کنید یه نمونه کد برای کار با DateTime و Query گرفتن در یک بازه زمانی بدین تا یکم دید نسبت بش پیدا کنم (11 سال پیش)
+3 0
نکته خاصی نداره - مثل بقیه کوئریهاس این لینک و این لینک میتونه مفید باشه (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  11 سال پیش
+5 0

به نظر من بهترین راه برای ذخیره تاریخ به صورت ثانیه / میلی ثانیه هست ، علت اش هم اینه که خیلی راحت در زبان های مختلف میشه مقدار متنی رو گرفت

مثلا 

 PHP         > strtotime("now") // in Seconds
Java > System.currentTimeMillis() // in ms
PHP To Java > PHPValue * 1000
Java To PHP > JavaValue / 1000

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

public static String convertTime(long time) {
   Date date = new Date(time * 1000);
   return date.toString();
}

البته متد بالا ساعت و دقیقه و ثانیه رو نمیده ،اگه کار خیلی حساس هست میشه تغییرش داد که دقیق تر بشه !

برای تبدیل همین مقدار در php به زمان دقیق ، می تونید از این روش استفاده کنید

این فایل ( date.php ) را دانلود کنید و به پروژه اضافه کنید ، برای تبدیل تاریخ به این شکل عمل کنید

$stringTime = Shamsi\date ( "Y/m/d در ساعت H:i", $TimeSeconds );

 خروجی به این شکل خواهد بود -> ۱۳۹۳/۰۷/۱۷ در ساعت ۱۴:۰۲ 

از این روش در پروژه ی فعلیم استفاده کردم و بدون مشکل خروجی گرفتم ، البته برای تبدیل مقدار به تاریخ و زمان شمسی در جاوا هنوز متدی ننوشتم :|

0 0
ممنون مجتبی جان کد خوبی بود. پروژه من کاملا آفلاینه و توی گزارش گیری فقط روز،ماه،سال اهمیت داره چون مثلا میخوام از 1393/02/02 تا 1392/07/20 لیست موارد ثبت شده را بگیرم برای این پیشنهادی داری؟ (11 سال پیش)
+1 0
بانک های اطلاعاتی نوع داده ی date رو هم پشتیبانی میکنند بسته به نوع ورودی ای که دارید و اینکه خودتون چطور راحتید می تونید یک روش رو انتخاب کنید ، با همین روشی که من گفتم هم میشه یه تاریخ خاص مثلا 2010/04/25 رو به مقدار عددی تبدیل کرد (ثانیه یا میلی ثانیه) ، پس میشه راحت تو بانک کوئری گرفت ، جای که زمان کوچک تر از 1420140 و بزرگ تر از 1420240 باشه ! (11 سال پیش)
+2 0
شما می تونید به صورت یک عدد هم اون ها را کاملا عام ذخیره کنید و به راحتی کلیه چهار عمل اصلی را هم روی آن اعمال کنید. برای نمونه 1393/07/17 را به صورت 13930717 ذخیره کنید. سایر اقدامات را هم به راحتی می توانید به صورت یک کلاس تعریف کنید. (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .