سرخط خبرها
خانه » avr » آموزش avr » تبدیل تاریخ میلادی به شمسی-نسخه ۲

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

بسیاری از دوستان که در برنامه نویسی های ان ها تاریخ میلادی هست به دنبال کدی میگردند تا بشود به صورت اتوماتیک تاریخ میلادی را به شمسی تبدیل کند هم چنین که در این کد سال کبیسه نیز حساب بشود(توجه : در کد قبلی سایت یک مشکلی وجود داشت که در محاسبات بعد از بار اول مشکل پیش می امد که در این نسخه رفع شده است)
امروز کد تبدیل تاریخ میلادی به شمسی را به زبان بیسیک را برای دوستان برنامه نویس ،را قرار داده ام. این کد کاملا عملی میباشد وتست شده است

یکی از کاربرد های این کد که خودم هم مدت زیادی با ان سروکار داشتم در مورد کار با ای سی ds1307 هست همانطور که میدانید این ای سی یکreal time clock= RTC هست که علاوه برا کار های دیگر مثل شمارش ساعت ، روز و… تاریخ را به صورت میلادی محاسبه میکند که با استفاده از این کد میتوانید تاریخ را به شمسی تبدیل کنید.

اما در مورد نحوه استفاده از کد باید سال ،ماه و روز میلادی خود را همانطور که در برنامه توضیح داده شده است در متغیر های زیر قرار دهید.

Myear = 2008
Mday =28
Mmonth = 8
که در این کد تاریخ ۲۰۰۸/۰۸/۲۸ را به عنوان نمونه قرار دادیم خروجی این کد که در ان تاریخ به صورت شمسی تولید میشود به صورت زیر میباشد که در این مثال تاریخ ۱۳۸۷/۰۶/۰۷ میباشد.


در کد زیر متغیر Jday به عنوان خروجی روز تبدیل شده میباشد که میتوانید از این متغیر روز تاریخ شمسی تبدیل شده را بگیرید،خروجی ماه در این کد متغیر Jmonth و متغیر Jyear به عنوان خروجی سال شمسی میباشد هم چنین که متغیر Jdayofyear تعداد روز های سپری شده از ماه شمسی محاسبه شده از اول سال تا کنون را نمایش میدهد.جهت دانلود کد بر روی عکس زیر کلیک نمائید

دانلود “کد بیسیک تبدیل تاریخ میلادی به شمسی” date-convert-milady-shamsy.zip – Downloaded 2784 times – 13 KB

همچنین ببینید

avr dos

یکی از خواسته ها هر فردی که با زبان بیسیک کار میکنه استفاده از کارت ...

۲۱ دیدگاه

  1. سایت خیلی جالبی دارید
    دستورات تبدیل میلادی به شمسی مشکل داره و جواب نمیده
    اما دستورات صحیح که هیچ مشکلی نداشته باشه و بهترین راه استفاده از روش تبدیل ماکروسافت هست
    ابتدا تاریخ میلادی به تعداد روز تبدیل میشه به تعداد روز از ۱/۱/۱ میلادی تا تاریخ مورد نظر ما
    و تعداد روز را به تاریخ شمسی متناظر تبدیل میکنه
    دستوراتش یه خورده طولانی هست و همه اونا را من دارم حتی برعکسش یعنی شمسی به میلادی
    در اینترنت هیچ دستوری وجود نداره که درست عمل کنه و فقط در یک بازه محدود حدود ۳۲ سال یا کمتر درست جواب میده
    به من بگید که چطور این دستورات را براتون بفرستم؟
    البته باید با نام خودم در سایت ثبت بشه

  2. سلام جناب دشتی خدا قوت
    مدتی هست که از این کد واسه ساعت استفاده می کنم خیلی عالیه اما متاسفانه امشب یه مشکل پیدا کردم
    این برنامه تاریخ ۲۲/۹/۲۰۱۱ رو به جای ۳۱ شهریور ۳۰ شهریور نشون میده البته ۲۱/۹/۲۰۱۱ رو هم ۳۰ شهریور نشون میده و ۲۳ رو اول مهر یعنی ۳۱ شهریور رو اصلا تبدیل نمیکنه!
    هرچی فکر کردم نتونستم درستش کنم ممنون می شم بررسی و ویرایش کنید.

  3. با عرض سلام
    اول از همه از بابت کد تبدیل تاریخ تشکر می کنم
    اگر در کد برنامه از کتابخانه lmcsbyteint.lbx
    و کد
    Dim Srooz As Long
    Srooz = Secofday()
    Lcd Srooz
    استفاده شود
    برنامه ارور می دهد
    در واقع Secofday
    و
    lmcsbyteint.lbx
    را نمی توان با هم استفاده کرد

    Secofday
    ارور نمی دهد اما نمایش عدد long توسط دستور lcd یا print با ارور مواجه می شود
    من کتابخانه lmcsbyteint.lbx
    را فراخوانی نکردم و ظاهرا در عملکرد تبدیل تاریخ با مشکلی مواجه نشد (تاریخ ذکر شده در پست های قبلی را درست نشان داد)
    همچنین با عدم فراخوانی کتابخانه اروری نشان داده نشد یعنی در واقع کدی از کتابخانه فراخوانی نشده بود

    لطفا اگر می دانید من اشتباه می کنم ویا نظری در خصوص مطالب فوق دارید نظر من را بی پاسخ نگذارید

پاسخ دهید