• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از تاریخ شمسی و جلالی در php
#1
سلام خدمت عزیزان .

مقاله ای رو آماده کردم که گفتم بد نباشه در اینجا قرار بدم تا فارسی زبانان عزیز بهره مند شوند.

http://joomfa.org/jajali-date-shamsi-dat...rsian.html

این آموزش بر اساس فایلی که در وب سایت http://iranphp.org موجود می باشد نوشته شده است.


موفق باشید
  پاسخ
تشکر شده توسط : admin hidensoft amir.s parvane hemaseh zoghal
#2
خیلی عالی بود. موفق باشید.
  پاسخ
تشکر شده توسط :
#3
خواهش می کنم عزیزم.

انشا الله گروه ایران پی اچ پی دات ا آر جی همیشه بیش از دیروز موفق باشد
  پاسخ
تشکر شده توسط :
#4
بسم الله الرّحمن الرّحيم

معرّفی یک نرم افزار پی اچ پی مفید و کاربردی برای تبدیل تاریخ و زمان

تاريخ هجري شمسي به عنوان يکي از دقيق ترين تاريخ ها ، براي استفاده در سايت هاي فارسي بسيار مناسب است. امّا متاسّفانه با توجّه به ميلادي بودن تاريخ سرور سايت ها ، دسترسي به تاريخ هجري شمسي با مشکلاتي همراه است. يکي از اين مشکلات ، عدم دسترسي به يک نرم افزار رايگان مبدّل تاريخ به هجري شمسي است که از دقّت بالايي نيز برخوردار باشد.
يکي از بهترين نرم افزارهاي رايگان در اين زمينه ، نرم افزار تقويم جلالي بود که سال ها قبل به زبان پي اچ پي نوشته شد و هم اکنون در اکثر سايت ها استفاده مي شود. امّا با گذشت زمان ، عيوب بسيار زيادي از آن نرم افزار قديمي ، آشکار شد. افراد زيادي اقدام به اصلاح فايل نرم افزار نمودند و نسخه هاي گوناگوني از آن منتشر شد که هر کدام با مشکلات و خطاهايي همراه بود.
پس از گذشت سال ها از ساخت نرم افزار قديمي تبديل تاريخ ، در راستاي پيشرفت کشور و توسعه ي فناوري اطّلاعات ، نياز به انتشار يک نرم افزار مشابه با دقّت و امکانات بيشتر ، به شدّت احساس مي شد. تا اين که سايت http://jdf.scr.ir در روز 22 بهمن 1389 ، اقدام به انتشار يک نرم افزار جديد ، مشابه با نرم افزار قديمي نمود و اوّلين نسخه ي آن را در امتداد نسخه ي قديمي ، نسخه ي 2.00 قرار داد.
اين نرم افزار جديد ، به دليل همنام بودن نام فايل و توابع آن با نرم افزار قديمي ، اين قابليت را دارد که به راحتي جايگزين فايل قديمي در سايت ها شود و مشکلي در سايت ايجاد نکند.
همچنين امکانات بسيار زيادي به نرم افزار جديد اضافه شد ، مثلاً قابليت محاسبه و نمايش : نام روز و ماه و سال به حروف _ نام باستاني برج ها _ نام حيواني سال ها _ تعداد روز و درصد گذشته و باقيمانده از سال _ نام و شماره ي فصل _ و امکانات بسيار زياد ديگري که مناسب با تاريخ هجري شمسي و زبان شيرين فارسي می باشد.
در اين نرم افزار ، پارامترهاي جديد زيادي اضافه شد تا بتوان عملکرد توابع را به صورت دقیق کنترل کرد و خروجي دلخواه را دريافت نمود. مثلاً قابليت تعيين زبان اعداد ، منطقه ي زماني و حتّي نوع خروجي بعضي توابع که به صورت آرايه باشد يا يک متن دلخواه.
توابع نيز به صورت کامل ، بازنويسي و اصلاح شدند. حجم نرم افزار جديد تا حدّ زيادي کاهش يافت و در مقابل ، سرعت و دقّت آن چندين برابر شد.
اين نرم افزار با داشتن ويژگي هايي همچون متن باز و رايگان بودن ، راه جديدي را براي استفاده از تاريخ هجري شمسي در فضاي مجازي باز کرد. افتخار مي کنيم که اکنون شاهد استفاده از تاريخ بسيار دقيق هجري شمسي در وب سايت ها هستيم و ديگر اجباري براي استفاده از تاريخ ميلادي وجود ندارد. انشاءالله در آينده ي نزديک بتوانيم با ابداع سيستم عامل ها ، زبان هاي برنامه نويسي و نرم افزار هاي بومي به دست خودمان ، کاملاً خودکفا و بي نياز از فناوري هاي غير بومي شويم. آن زمان نزديک است ، آنقدر نزديک که حتّي نمي توانيد تصوّرش را بکنيد.
نرم افزار جديد را هم اکنون مي توان از طريق سايت رسمي اين نرم افزار به نشاني http://jdf.scr.ir دريافت نمود. براي استفاده کنندگان از اين نرم افزار ، يک مجموعه ي کامل آموزشي ، ايجاد شده و در سايت http://jdf.scr.ir موجود است. همچنين اين سايت ، اقدام به جمع آوري نظرات و پيشنهادات شما براي ارتقاي بيشتر نرم افزار نموده و شما مي توانيد با گزارش اشکالات نرم افزار ، در اصلاح نسخه ي بعدي آن ، کمک کنيد. در اين سايت ، از تمامي ايده هاي مفيد و کاربردي ، حمايت مي شود.
با عضويت در خبرنامه ي سايت http://jdf.scr.ir به محض انشار نسخه ي جديدتري از اين نرم افزار ، مطّلع خواهيد شد.
اين سايت در زمينه ي گسترش استفاده از تاريخ دقيق هجري شمسي ، فقط به وب سايت ها اکتفا نکرده و اقدام به ايجاد تابع مجازي jdate براي وبلاگ ها نموده است. از اين پس ، طرّاحان قالب وبلاگ ها و وبلاگ نويسان قادر خواهند بود به صورت مجازي و بدون نياز به فضاي آپلود فايل نرم افزار ، از تابع jdate به صورت دلخواه ، خروجي مورد نظر خود را دريافت کرده و در صفحات وبلاگ خود استفاده نمایند.

براي کسب اطّلاعات بيشتر ، مي توانيد به سايت http://jdf.scr.ir مراجعه فرماييد و از آخرين اخبار مربوطه ، مطّلع شويد.
  پاسخ
تشکر شده توسط :
#5
شرمنده یه مقدار رک می گم اما به هیچ عنوان استفاده از این تاریخ رو توصیه نمی کنم
مشکلات خیلی توش هست
مثلا
۱- اضافه کردن چندین نوع جدید ( قراره جایگزین date بشه پس اینا چی هست؟)
۲- کد نویسی غیر استاندارد ( حتا یک تورفتگی هم توش درست نیت)
۳- کانتهای الکی و نامربوط
مثلا
نقل قول:/* F */
یا

نقل قول:[ http://jdf.scr.ir/jdf ] : جهت کسب اطّلاعات بيشتر در مورد توابع اصلي زير *

کامنت شده جای تبلیغ؟؟؟؟؟

۴- سال کبیسه اینجوری حساب میشه؟؟؟؟ این الگوریتم از کجا اومده؟؟؟؟

۵- اسم متغیرها نامربوط

۶- اضافه کردن پارامتر اضافه به jdate ( قراره جایگزین date بشه)

۷- توی خیلی از جاها بهینگی وجود نداره
  پاسخ
تشکر شده توسط :
#6
دوست عزیز

اوّلاً که قرار شد اگر خطایی در محاسبات اون نرم افزار کشف کردید ، به همون سایت گزارش بدین تا در نسخه های بعدی برطرف بشه. نه این که این جا توی این انجمن بنویسید که معلوم نیست تا چند سال دیگه هم کسی بخونه یا نه. هیچ فایده ای هم نداره. اگر شما انتقادی دارید ، نشانی http://jdf.scr.ir/n رو برای همین کار گذاشتن دیگه. برین به خودشون بگین
++++++++++++++++++++++++++++++++++++++++++++++

درضمن ، من مواردی که مطرح فرمودید رو بررسی کردم

1- اگر قرار باشه تاریخ رو به هجری شمسی تبدیل کنیم ، باید کنترل وسیع تری ایجاد بشه[/align][/u]

2- تو رفتگی کدها فقط برای راحت تر خوانده شدن آنهاست. لزوم چندانی نداره

3- اون حرف F یعنی Function یا تابع جدید و آگهی های بازرگانی هم برای افرادی نوشته شده که قصد دارند از توابع اصلی در نرم افزارهاشون استفاده کنند

4- من خودم اون روش محاسبه ی سال کبیسه رو چک کردم. گول سادگیش رو نخورید ، کاملاً صحیح کار میکنه. میتونید امتحان کنید

5- از نام های مخفف استفاده شده. کدومش نامربوطه ؟ بگین تا براتون شرحش بدم که مخفف چیه...

6- اوّلاً که تمامی پارامترهای اضافه ، اختیاری هستند و لزومی نداره اون ها رو حتماً وارد کنید. ثانیاً ، این پارامترها کار شما رو راحت تر کردند.

7- منظورتون از بهینگی چیه؟ بهینه سازی چی؟؟؟
  پاسخ
تشکر شده توسط :
#7
اگر می خوایید بحث تحیلیلی کنید اینجا مطرح می کنم که بهتر بشه طرح کرد. چون من هم تاریخ شمسی رو نوشتم و روش وقت و تحقیق کردم
من نمی دونم چرا توی ایران همش می خوان دوباره کاری کنن؟

در مورد مواردی که گفتین
۱- باز هم میگم این جایگزین تابع date هست. پس چیز اضافی الکی هست. من وقتی که دارم یه نرم افزار توسعه میدم و طرف می تونه از تاریخ میلادی به شمسی سوئیچ کنه پس باید این دو تا رفتار کاملا یکسانی رو داشته باشن. نمیشه که طرف سوئیچ کنه روی میلادی و برخیش کار نکنه. پس اصلا استفاده نمی کنه. این شد چیز اضافی پس یعنی یک چیز اضافی وجود داره بهینگی اومد پایین

۲- دوست من تورفتگی ها باید وجود داشته باشه. مثلا کد رو با کد باز دادین بیرون. پس طرف می خواد داخلش رو ببینه روش تغییرات بده باگهاش رو پیدا کنه. شما کدوم کد باز رو دیدین که این مسائل توش رعایت نشده باشه؟

۳- F یعنی فانکشن؟ چرا گذاشتین؟ شما اصول اولیه کامنت رو رعایت نکردین. بهتره یه نگاه به phpdoc بندازین. همین که همه جا لینک به سایت دادین یعنی چی؟ از دید توسعه دهنده یعنی تبلیغات. داخل phpdoc فقط اولش اشاره میشه دیگه نمیشه. اونم وسط

۴- با توجه به الگوریتم شما هر ۴ سال سال کبیسه هست؟ این درسته؟ این یه چیز خیلی ساده برای مردم جا افتاده. اما توی ۸۰ درصد موافق درست هست. بعضی وقتها هر ۳ سال یکبار و بعضی وقتها هر ۴ سال یکبار سال کبیسه هست.
یه تحقیقی بکنید. داخل همین سایت بهش اشاره شده

۵- قرار نیست برای من بیایین توضیح بدین. این برمی گرده به همون مسئله ۳ بحث داکیومنت. نام متغیر خودش مهمترین داکیومنت می تونه براش باشه

۶- این هم بر می گرده به مسئله ۱

۷- شما گفتی بهنگی بهتر شده؟ کجاش بهتر شده؟ بهنیگی واسه شما چی هست؟
مثلا این رو ببنینی
کد پی‌اچ‌پی:
case'C':case'E':case'R':case'x':case'X':$out.='<a href="http:/

/jdf.scr.ir/">دریافت نسخه ی جدید http://jdf.scr.ir</a>'
;break; 
کی می خواد از این استفاده کنه؟ چیز اضافی نیست؟
پس بهینگی پایین

به نظر من شما بهتره روی
http://iranphp.org/node/6
کار کنید که ویژگیهای بیشتری از php رو برای تاریخ شمسی پیاده سازی کرده.
اگر مشکلی داره گزارش بدید
  پاسخ
تشکر شده توسط :
#8
Smile 

دوست عزیز ، چرا فکر می کنید ما قصد دوباره کاری و کپی برداری از نرم افزارهای دیگران رو داریم؟؟؟


اگر فقط یک نگاه به راهنمای ما بیاندازید ، متوجّه میشید که چه قدر روی نرم افزار جدید کار شده. ما هم خیلی تحقیق کردیم. قبلاً چندین نسخه ی مشابه رو بررسی کردیم. همین نسخه ی شما هم یکیش. اگر بدونید چند نسخه ی دستکاری شده از اون توابع قدیمی رو از سرتاسر اینترنت جمع آوری کردیم.


دوست عزیز ما خواستیم اون نرم افزار قدیمی آقای میلاد راستیان رو که سال ها قبل نوشته شده و الآن خودش یه کلکسیون باگ به حساب میاد رو بازنویسی کنیم. امّا نه این که توی هر ورژنی یکی دوتا باگ رو برطرف کنیم. ما از بیخ و بن اون رو بازبینی کردیم.


مثلاً اون دو تابع قدیمی متعلّق به 11 سال پیش که توسّط آقایان روزبه پورنادر و محمّد توسی نوشته شده ، با کمّال تعجّب ، هنوز هم داشت استفاده می شد. آخه مگه php الآن با 11 سال قبل یکی هست؟؟؟


یا کاراکترهایی مثل o کوچک ، Y بزرگ و... که هنوز هم متعلّق به تاریخ میلادی بودند.


در مورد سال های کبیسه هم باید خدمتتون عرض کنم که
اوّلاً ملاک ما در این توابع ، تاریخ هجری شمسی بوده که اکنون گاهشماری رسمی کشورمان است ، نه جلالی
ثانیاً ، تا نزدیک ترین شکاف در قائده ی 4 ساله ی کبیسه ، اونقدری فاصله داریم که شاید تا اون موقع اصلاً زبان php دیگه روی کار نباشه.
درضمن ، همون روشی که خودتون هم در تابع isKabise استفاده کردین ، دقیقاً همین کار رو میکنه. فقط لقمه رو از دور گردن چرخوندین


در مورد اون تبلیغات ، اگهی بازرگانی ، یا هر چیزی که بهش میگین هم
چون نرم افزار هنوز کامل نشده ، استفاده کنندگان باید بدونن که ممکنه نسخه ی کاملتری هم منتشر شده باشه که چندتا باگ ازش کم شده یا امکانات دیگه ای بهش اضاف شده
مطمئن باشید اگر کمی کاملتر بشه ، این آگهی های اضافی رو حتماً بر می داریم


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


خواهش میکنم این بحث رو هم زیاد کشش ندین. ما همه یک هدف داریم ، راه ها جداست. خدایی نکرده بعضی ها خیال میکنن ما با هم مسئله ای داریم.... Smile

شما فقط کلام آخرتون رو بنویسید. من هم قول میدم دیگه اینجا هیچی ننویسم.


  پاسخ
تشکر شده توسط :
#9
نقل قول:خواهش میکنم این بحث رو هم زیاد کشش ندین. ما همه یک هدف داریم ، راه ها جداست. خدایی نکرده بعضی ها خیال میکنن ما با هم مسئله ای داریم...
تاثیر ادبیات مختارنامه در کلام ملت !!! Sleepy Tongue

--
دل خوش سیری چند ...
  پاسخ
تشکر شده توسط :
#10
سال کبیسه قانون خودش رو داره و اون قانونی که داخل تاریخ pdate هست. روش شما با روشی که من به کار بردم و بر اساس تحقیقی بوده که انجام دادم یکی نیست.
به هر حال من گزارشات لازم رو بهتون دادم و از دید من تاریخ pdate به نشانی که بهتون دادم مشکلی رو نداره
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان