از اول امسکل یعنی سال 1404 یکی کی تلفن هایی زده شد مبنی بر اینکه یا تاریخ نمایش داده شده از نظر نام روز مشکل داره و جلو عقبه یا اینکه تاریخ رو یک روز جلوتر داریم میبینیم .
این مشکل فقط توی جوملا نیست و توی بعضی از نرم افزار های دسکتاپی هم مشاهده شده .
خیلی گشتم ببینم چیه مشکل اول یه راه پیدا کردم که تا 30 فروردین همه چی اوکی بود ولی دقیقا 31 فروردین یعنی امروز
توی سایت نوشته بود:
یکشنبه 00 اردیبهشت 1404
و باز هم استرس.....
کلی کلنجار و بررسی و در نهایت نتیجه کار که احتمالا موقتی است این شد که در فایل
/language/fa-IR/fa-IR.localise.php
و همینطور
/administrator/language/fa-IR/fa-IR.localise.php
یک خط تغییر کند
از این:
$jd = gregoriantojd($this->month, $this->day, $this->year);
به این:
$jd = gregoriantojd($this->month, $this->day+1, $this->year);
فعلا اوکیه حتی توی پنل ادمین با زبان فارسی
ولی قطعا اصولی نیست.
با تشکر از ramandy.ir
یه سری متن هم از توانجمن برنامه نویس دیدم شاید به درد بخوره :
محاسبه سال كبيسه شمسي:
برای تشخیص اینکه سال شمسي مورد نظر کبیسه است یا خیر، کافی است که باقیماندهٔ تقسیم سال شمسي را بر عدد ۳۳ بدست آوریم. اگر باقیمانده یکی از اعداد( ۱، ۵، ۹، ۱۳، ۱۷، ۲۲، ۲۶ و ۳۰ )باشد، سال شمسي سال کبیسه است.به عنوان مثال سال 1370 را در نظر بگيرید. باقیماندهٔ تقسیم 1370 بر عدد ۳۳ برابر 17 است بنابراین سال 1370، سال کبیسه است.تقريبا در هر 33 سال 8 سال كبيسه و 25 سال معمولي قرار دارد. علت تقسيم بر 33 هم همين مقوله است. بنابراين يكي از سالهاي كبيسه پنج ساله ميشود كه ميتوان آن را شروع دوره 33 ساله جديد در نظر گرفت.
حال مشكل اين است كه سال 1407 را كبيسه مي انگارد . در صورتيكه باقي مانده تقسيم 1407 بر 33 عدد 21 است كه در مجموعه اعداد فوق نمي گنجد ولي سال 1408 سال كبيسه است زيرا مانده تقسيم 1408 بر 33 عدد 22 است.يعني سال 1403 كبيسه است و بعد از آن يك دوره كبيسه 5 ساله خواهيم داشت . (اين دوره از سال 1370 شروع گرديده و به سال 1403 ختم مي گردد يعني 33 سال . بنابراين سال كبيسه قبل از 1370 سال 1366 و سال كبيسه بعدي نيز سال 1375بوده است.سال 1371 سال كبيسه نيست.)
سال 1403 را ميتوان سال پايان دوره 33 ساله قبلي و شروع دوره 33 ساله جديد دانست كه كبيسه بعدي آن 5 ساله خواهد بود و به سال 1436 ختم خواهد شد.
محاسبه سال كبيسه ميلادي
برای تشخیص این که سال میلادی مورد نظر کبیسه است، حداقل یکی از شرایط زیر باید برقرار باشد:
۱) سال میلادی مورد نظر بر ۴ بخشپذیر باشد (باقیماندهٔ تقسیم آن سال بر ۴ برابر ۰ باشد) و بر ۱۰۰ بخشپذیر نباشد (باقیماندهٔ تقسیم آن بر ۱۰۰ برابر ۰ نباشد)
۲) سال میلادی مورد نظر بر ۴۰۰ بخشپذیر باشد
به عنوان مثال سال ۱۹۰۰ میلادی با این که بر ۴ بخشپذیر است سال کبیسه نیست (چون بر ۱۰۰ بخشپذیر است). سال ۲۰۰۰ میلادی سال کبیسه است (چون بر ۴۰۰ بخشپذیر است). سال ۲۰۰۴ میلادی سال کبیسه است (چون بر ۴ بخشپذیر است و بر ۱۰۰ بخشپذیر نیست).