مشاهده پست های بی پاسخ | مشاهده موضوعهای فعال تاریخ امروز دوشنبه 20 نوامبر, 2017 10:19 pm



پاسخ به موضوع  [ 3 پست ] 
 برنامه تبدیل تاریخ میلادی به شمسی 
نویسنده پیام
آواتار کاربر

عضو: شنبه 24 نوامبر, 2007 1:08 pm
پست ها: 107
پست برنامه تبدیل تاریخ میلادی به شمسی
سلام بر دوستان تالار گفتگو

فرصتی پیش آمد تا مطالب مطرح شده در تالار را مرور کنم. خیلی خوشحالم که در عرض همین مدت کوتاهی که تالار گفتگو به صورت آزمایشی راه اندازی شده، مباحث خوب و مفیدی در آن مطرح شده است.

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

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



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

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

کد:
public string Shamsi(string date)
{
    int[] arrMonths ={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    int[] arrStart ={ 21, 20, 21, 21, 22, 22, 23, 23, 23, 23, 22, 22 };
    char[] sep ={ '/' };
    string[] arrDate = date.Split(sep);
    int year = Convert.ToInt32(arrDate[0]);
    int month = Convert.ToInt32(arrDate[1]);
    int day = Convert.ToInt32(arrDate[2]);

    if (year % 4 == 0)
    {
        for (int i = 2; i < 12; i++)
            arrStart[i]--;
        arrMonths[1]++;
        if (month == 1) arrStart[11]++;
    }
    else if (year % 4 == 1)
    {
        arrStart[0]--;
        arrStart[1]--;
        if (month == 1) arrStart[11]--;
    }
    year = month <= 3 ? year - 622 : year - 621;
    if (month == 3 && day >= arrStart[2]) year++;
    if (day < arrStart[month - 1])
    {
        int i = month == 1 ? 11 : month - 2;
        day = day - arrStart[i] + arrMonths[i] + 1;
        month -= 3;
    }
    else
    {
        day = day - arrStart[month - 1] + 1;
        month -= 2;
    }
    if (month <= 0) month += 12;
    return year + "/" + Convert.ToString(month).PadLeft(2,'0') + "/" +
         Convert.ToString(day).PadLeft(2,'0');
}


تابع فوق یک رشته حاوی تاریخ میلادی را دریافت کرده به تاریخ شمسی تبدیل می کند و این تاریخ شمسی را به صورت یک رشته برمی گرداند.

خدای مهربان یارتان باد ::rose::

_________________
در شهادت یک شمع ، راز منوری است که آن را آن آخرین و آن کشیده ترین شعله خوب می داند.


سه شنبه 04 دسامبر, 2007 4:02 pm
مشخصات شخصی
آواتار کاربر

عضو: یکشنبه 25 نوامبر, 2007 12:01 am
پست ها: 21
پست Re: کمی در ژرفا
اندیشه جان خیلی مفید بود دستتون واقعا درد نکنه ::hand::
البته من هنوز تستش نکردم، ولی حتما خودتون تست کردید که ارائه دادیدش دیگه!

_________________
انسانها خودساخته اند، اما تنها موفق ها این را اذعان می کنند!


پنجشنبه 06 دسامبر, 2007 12:26 am
مشخصات شخصی
آواتار کاربر

عضو: شنبه 24 نوامبر, 2007 1:08 pm
پست ها: 107
پست Re: کمی در ژرفا
قابل نداره . بله کار میکنه

_________________
در شهادت یک شمع ، راز منوری است که آن را آن آخرین و آن کشیده ترین شعله خوب می داند.


جمعه 07 دسامبر, 2007 9:43 am
مشخصات شخصی
مشاهده پست های قبلی:  نمایش بر اساس  
پاسخ به موضوع   [ 3 پست ] 

افراد آنلاین

کاربران حاضر در این تالار: - و 9 مهمان


شما نمی توانید در این تالار موضوع جدید باز کنید
شما نمی توانید در این تالار به موضوع ها پاسخ دهید
شما نمی توانید در این تالار پست های خود را ویرایش کنید
شما نمی توانید در این تالار پست های خود را حذف کنید
شما نمی توانید در این تالار ضمیمه ارسال کنید

جستجو برای:
پرش به:  
cron
استفاده و نقل از مباحث سایت، فقط با ذکر منبع و لینک سایت میکرورایانه مجاز است.
Copyright © 2006 - 2010 MicroRayaneh - Powered by phpBB © phpBB Group
Valid CSS2 Valid XHTML 1.0
طراحی سایت : میکرو رایانه