تعیین تاریخ میلادی  و معادل شمسی آن بعنوان مبنا فرضا اگر

 ۱۲۰۰/۱/۱  معادل ۳/۲۱/۱۸۲۱ باشد ( چهارشنبه روز ۵ ام هفته )


یک NumDay تعریف میکنیم قبل از شروع توابع 


ابتدا باید اختلاف تاریخ میلادی گرفته شده با مبنا که ۲۱ مارس ۱۸۲۱ اعلام شده را بگیرید که در اکسس با DateDiff امکان پذیر است و آرگومان اولش n میشود 


مرحله بعد ایجاد تابع AddDay که تعداد n بدست ِآمده را با تاریخ شمسی مبنا جمع کند و وقتی به n رسید تابع به پایان رسیده و عبارت تاریخ را برگرداند 


نحوه ی عملکر تابع AddDay :     

(Function(Dt,n

۱-اظهار متغیر Counter ,Y,M 

2-جدا کردن سال و ماه و روز و گذاشتن به ترتیب در متغیرهای Y  و M و  D

3-یک روز یک روز به  متغیر D  اظهار شده که  روز عبارت  Dt  را در خودش قرار میدهد اضافه میکند اگر D بزرگتر از روزهای  M ( تعداد روزهای M باید در تابعی گرفته شود و کبیسه هم در نظر گرفته شود )  که متغیر ماه عبارت Dt هست  شد دوباره D صفر میشود و یکی به M اضافه میگردد 

4-اگر متغیر M از ۱۲ عبور کرد یک عدد به متغیر Y که  سال عبارت Dt را در خود نگه میدارد اضافه خواهیم کرد 

5-اگر NumDay بزرگتر از ۷ شد NumDay ( شماره ی روز بدست آمده ) برابر صفر شود

5-یک عدد به Conuter اضافه می کنیم 


تابع Dif هم که اختلاف بین دو تاریخ را نشان میدهد اگر بخواهیم ایجاد کنیم روشش بدینگونه خواهد بود .


۱-که لوپ زده میشود بین  StartDate و EndDate  یعنی یکی به روز StartDate اضافه میکند دقیقا مثل تابع بالا و اگر روز از روز ماه بالاترشد صفر میشود و به ماه یکی اضافه میگردد و همچنان ماه اگر بزرگتر از ۱۲ شد ۱ شده و یک واحد به سال اضافه میگردد تا جایی پیش میرود که Start Date و EndDate برابر شوند  . برای شمارش هم از Counter استفاده میشود.


برای تبدیل شمشی به میلادی هم اختلاف تاریخ شمسی و تاریخ شمسی مبنا یعنی ۱۲۰۰/۱/۱ با تابع Dif بدست می آید و n بدست آمده با تابع AddDay به تاریخ میلادی مبنا که ۲۱ مارس ۱۸۲۱ است اضافه میشود عبارت بدست آمده معادل میلادی تاریخ شمسی است 


روش بالا بسیار دقیق است چون توسط کانتر و با احتساب کبیسه ها انجام میشود . 


برای تقویم هم می توانید بدین شکل عمل بنمائید 


فرضا تقویم شما روی سال ۹۶ و ماه ۳ میرود با تابع می توانید شماره روز یا NumDay  اول ماه خرداد ۹۶ را بگیرید و  باکس  های مورد نظر با توجه به کبیسه بودن ماه یا نبودن آن پر کنید منظور کپشن  . 


ش   ی   د  س  چ  پ ج  . هدرتان میشود و در زیر حدود ۴۲ باتن یا Toggle باتن ایجاد می کنید و به هدر هم شماره میدهید فرضا در تگ مربوطه که همشون Lable هستن فرضا اگر اول خرداد ۹۶ سه شنبه شد طبق تگ هدر باید از NumDay که ۴ بدست آمده ۱ شروع شده و تا ۳۱ پر کند چون خرداد ۳۱ روزه است و اگر روزهای باقیمانده در باکس های 35 ببعد باید جا گرفته شود از ردیف اول نسبت به تغییر کپشن اقدام بنماید تا به ۳۱ برسد. ( ۳۵ تاگل باتن در ۵ ردیف و ۷ ستون  )


این میشود مهندسی مع درست است که محاسبه ی زمانبر دارد ولی محاسبات بیشتر از ۳ ثانیه طول نخواهد کشید شما می توانید برای سرعت برگشت بهتر مبنا را فرضا ۱۳۷۰ تا ۱۳۸۰ در نظر بگیرید .


موید و پیروز باشید .




مشخصات

تبلیغات

محل تبلیغات شما

آخرین مطالب این وبلاگ

محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

Robin Jeremy شرکت مستحکم پلاستیک آسیا اشکان چی میخونه؟ دارک وب asdasdsdassad فروش ویژه پکیج رادیاتور در شیراز آموزش طراحي سايت، دوربين مدار بسته ، ويپ و تبليغات اينترنتي آموزش افزایش امنیت وردپرس