اطلاعیه

Collapse
No announcement yet.

تعداد روزهای بین دو تاریخ

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تعداد روزهای بین دو تاریخ

    سلام دوستان عزیز تو یه پروژه احتیاج دارم که بین دو تاریخ شمسی یا میلادی تعداد روزها رو محاسبه کنم ولی هر چی تو نت گشتم دیدم این بچه های کامپیوتر از یه سری توابع اماده کامپایلر های خودشون استفاده می کنند
    از دوستان کسی الگوریتم نداره که با اون بتونم تابعشو بنویسم
    من به آمار زمین مشکوکم...
    اگر این شهر پر از آدم هاست......
    پس چرا این همه دل ها تنهاست؟

    #2
    پاسخ : تعداد روزهای بین دو تاریخ

    می دونی چطوری سال رو به روز تبدیل کنی ؟
    مثلا 1378/05/06 رو بصورت تقریبی با در نظر گرفتن سال های کبیسه میشه 06 + 4*31 + 1377 * 365.25 روز و به همین صورت تایخ دومت رو تبدیل کن مثلا 1391/09/03 میشه
    3+2* 30+ 186 + 386.25*1390 حالا این دور از هم کم کن
    تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زیادتر از دیگر آدم ها است

    دیدگاه


      #3
      پاسخ : تعداد روزهای بین دو تاریخ

      راه حلش همینه که جناب aliila گفتن ولی اگه بخوای دقیق تر حساب کنی تعداد روزهایی که تا آخر یک ماه از سال گذشته توی یک آرایه بذار مثل این (برای تاریخ جلالی)
      daysofyear = [0, 31, 62, 93, 124, 155, 186, 216, 246, 276, 306, 336]

      و سالهای کبیسه هم این طوری حساب کن:
      سال 1391 کبیسه است و سالهای کبیسه هر 4 سال یک بار اتفاق می افتند پس کلیه سالهایی که باقی مانده آنها بر 4 مساوی 3 است هم کبیسه هستند. بنابراین تعداد سالهای کبیسه تا سالی که وارد شده این طوری حساب میشه که اول آخرین سال کبیسه قبل از سال وارد شده رو به دست میاری، اگه باقی مانده سال بر 4 شد 3، که میشه y-4 (که y همون سال وارد شده هست) وگرنه میشه (y-rem(y-3,4 فرض کن اسم این مقدار رو L بذاریم در این صورت تعداد سالهای کبیسه قبل از y میشه L+1)/4) که باید این مقدار به تعداد روزها اضافه بشه فرمولش میشه این:
      با فرض این که تاریخ وارد شده باشه y/m/d که d روز، m ماه و y سال باشه:
      کد PHP:
      if rem(y,4) = 3
        L 
      4;
      else
        
      rem(y-3,4);
      end
      days 
      365*daysofyear(m) + + (L+1)/

      برای هر دو تاریخ حساب کن و بعد از هم کم کن.
      لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
      لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
      با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
      اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
      یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

      دیدگاه

      لطفا صبر کنید...
      X