PDA

View Full Version : سوال: کم کردن دو تاریخ از هم؟؟؟



zoho1381
چهارشنبه 19 فروردین 1388, 12:22 عصر
با تشکر از همه دوستانی که با استفاده از معلوماتشون تونستم تاریخ شمسی رو در دیتابیسم وارد کنم
حالا سوالم اینه: من در سیستم کتابخانه یه تیبل دارم که لیست کتابهای امانت گرفته شده رو نگه میداره به همراه تاریخ امانت بردن کتاب و یه فیلد دیگه که تاریخ برگشت که باید مدیر سیستم وقتی کتاب برگشت داده شد وارد کنه.
می خوام وقتی این تاریخ توسط مدیر وارد شد تعداد روزهای امانت بردن کتاب توسط عضو مشخص بشه و اگه بیشتر از 15 روز بود برای هر روز اضافی با یک مقدار جریمه که مشخصه جریمه کل رو حساب کنه و به مدیر اعلام کنه و در همون تیبل جریمه هم وارد میشه!
حالا می خوام بدونم چطوری دو تایخ رو از هم کم کنم که تعداد روزها رو بهم بده؟
و البته برای اینکه لازمهدو تاریخ رو از هم کم کنم لطفا بهم بگید که تاریخ هارو به چه شکلی باید وارد کنم؟؟

I,Nobody
چهارشنبه 19 فروردین 1388, 12:54 عصر
فرمت timestamp

guy18iran
چهارشنبه 19 فروردین 1388, 14:40 عصر
شما می تونین فیلد مربوطه رو از نوع int(10) تعریف کنین و موقع insert از تابع time() استفاده کنین که یک عدد 10 رقمی تولید میکنه و توی DB میریزه و شما می تونین تمام اعمال ریاضی رو روش انجام بدین.

zoho1381
پنج شنبه 20 فروردین 1388, 10:28 صبح
شما می تونین فیلد مربوطه رو از نوع int(10) تعریف کنین و موقع insert از تابع time() استفاده کنین که یک عدد 10 رقمی تولید میکنه و توی DB میریزه و شما می تونین تمام اعمال ریاضی رو روش انجام بدین.
درسته ولی من چه جوری این عدد 10 رقمی رو به فرمتی تبدیل کنم که بشه به دیگران هم نشون داد؟؟

ودوست عزیزی که گفتن از timestamp استفاده کنم میشه بگین چه جوری میشه از هم کمشون کرد؟؟

I,Nobody
پنج شنبه 20 فروردین 1388, 10:43 صبح
درسته ولی من چه جوری این عدد 10 رقمی رو به فرمتی تبدیل کنم که بشه به دیگران هم نشون داد؟؟

ودوست عزیزی که گفتن از timestamp استفاده کنم میشه بگین چه جوری میشه از هم کمشون کرد؟؟
ببين عزيزم، شما توي PHP به راحتي مي توني با استفاده از توابع مربوط به تاريخ ها، فرمت timestamp رو به فرمت تاريخ قابل فهم براي كاربران تبديل كني.
بهتره توي ديتابيس، تاريخ رو به اين فرمت يا به هر دو فرمت ذخيره كني.
لطفاً به http://ir.php.net/manual/en/ref.datetime.php مراجعه كنيد

tecnocomputer
دوشنبه 10 اسفند 1388, 14:28 عصر
خارجيه كه.....

payamsp
دوشنبه 10 اسفند 1388, 17:15 عصر
بهترین راه برای ذخیره تاریخ اینه که به صورت timestamp ذخیره بشه ، اما اگر شما می خواید دو تاریخ رو که به صورت timestamp نیستند رو از هم کم کنید اول با استفاده از تابع strtotime اون ها رو به صورت timestamp در بیارید و هر عملیات ریاضی که دوست دارید رو روش انجام بدید .
برای استفاده از از timestamp هم اون رو به عنوان آرگومنت دوم تابع date بنویسید.


$timestamp=strtotime('2010-03-01');
echo date('Y m d',$timestamp);

maysamscript
دوشنبه 10 اسفند 1388, 22:34 عصر
زیاد بحث شده
http://barnamenevis.org/forum/showthread.php?t=125650&highlight=timestamp

mmmmm2
یک شنبه 09 بهمن 1390, 15:14 عصر
ممنون میشیم راهنماییم کتید دوستان چگونه دو تاریخ رو از هم کم کنم درC#‎

tux-world
یک شنبه 09 بهمن 1390, 16:25 عصر
سلام. تاپیک بسیار جالب و مفیدی هستش سوالی که به ذهنم میرسه این هستش که اگه از تاریخ فارسی بخوام استفاده کنم قبل از ثبت در دیتابیس باید تبدیل به میلادی بشه؟ همه کاری میخوام با این تاریخ بکنم ولی به صورت فارسی
یعنی اول تبدیل به میلادی بعد تایم استمپ بشه و برای برگردوندن از تایم استمپ به میلادی و بعد فارسی ؟؟

MMSHFE
یک شنبه 09 بهمن 1390, 18:22 عصر
دوست عزیز، شما تاریخ رو بصورت timestamp توی دیتابیس ذخیره کنید. میتونید کلیه اعمال دلخواه رو ازقبیل محاسبه اختلاف دو تاریخ و... توسط همین مقدار انجام بدین. هرموقع خواستین بصورت میلادی اون رو نمایش بدین، از تابع date استفاده کنید. برای نمایش تاریخ بصورت شمسی هم از تابع jdate که توسط کتابخانه JDF (http://jdf.scr.ir) در اختیارتون قرار میگیره، میتونید استفاده کنید.
موفق باشید.

tux-world
یک شنبه 09 بهمن 1390, 21:38 عصر
پس jdate یک جایگزین کامل برای میلادی هستش دیگه؟ یعنی لازم نیست هیچ تبدیلی به میلادی صورت بگیره. تا الان از تاریخ تئ php استفاده نکردم. شرمنده سوالات مبتدی میپرسم ناراحتتون میکنم

MMSHFE
دوشنبه 10 بهمن 1390, 07:30 صبح
خواهش میکنم. بله jdate خودش عملیات تبدیل رو انجام میده. البته کتابخانه JDF (http://jdf.scr.ir) توابع مفید دیگری هم داره. برای مثال، jalali_to_gregorian (تبدیل تاریخ شمسی به میلادی) یا gregorian_to_jalali (تبدیل تاریخ میلادی به شمسی) و... که توی راهنماش درباره همه توضیح داده شده. موفق باشید.