آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 14 از 14

موضوع: تبدیل تاریخ میلادی به شمسی

Threaded View

  1. #1
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    تبدیل تاریخ میلادی به شمسی

    اینم یک تابع واسه تبدیل تاریخ به شمسی

    کد:

    کد:
    Function MiladiToShamsi(var Year, Month, Day: Word): String;
    const
      count_days : array[1..12] of Byte = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var
      i: Byte;
      st: String;
      day_year: Integer;
    begin
      day_year:= 0;
      for i:= 1 to month - 1 do
        day_year:= day_year + count_days;
      day_year:= day_year + day;
    
      if IsLeapYear(Year) and (month > 2) then
        Inc(day_year);
    
      if (day_year <= 79) then
      begin
        if ((Year - 1) mod 4 = 0) then
          day_year:= day_year + 11
        else
          day_year:= day_year + 10;
    
        Year:= Year - 622;
    
        if (day_year mod 30 = 0) then
        begin
          Month:= (day_year div 30) + 9;
          Day:= 30;
        end
        else
        begin
          Month:= (day_year div 30) + 10;
          Day:= day_year mod 30;
        end;
      end
      else
      begin
        year:= year - 621;
    
        day_year:= day_year - 79;
        if (day_year <= 186) then
        begin
          if (day_year mod 31 = 0) then
          begin
            Month:= (day_year div 31);
            Day:= 31;
          end
          else
          begin
            Month:= (day_year div 31) + 1;
            Day:= day_year mod 31;
          end;
        end
        else
        begin
          day_year:= day_year - 186;
          if (day_year mod 30 = 0) then
          begin
            Month:= (day_year div 30) + 6;
            Day:= 30;
          end
          else
          begin
            Month:= (day_year div 30) + 7;
            Day:= day_year mod 30;
          end;
        end;
      end;   // else  .
    
      st:= IntToStr(Year) + &quot;/&quot;;
      if (Month < 10) then
        st:= st + &quot;0&quot;;
      st:= st + IntToStr(Month) + &quot;/&quot;;
      if (Day < 10) then
        st:= st + &quot;0&quot;;
      st:= st + IntToStr(Day);
    
      Result:= st;
    end;
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  2. کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده است:

    b_e_shamlu (16 / April / 2016)

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •