رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کلاس JDateTime
#1
بالاخره یکی باید فاتحه ی توابع jdate رو که تقریبا منقرض شدند رو توی وب ایران میخوند :دی خب برادرا من تقریبا فاتحه رو خوندم و یه کلاس مبتنی بر کلاسه DateTime خوده php نوشتم (البته از کدهای بقیه ی دوستان هم خیلی استفاده کردم که اسمشون بالای کلاس هست) این کلاسه ما همه ی قابلیت های کلاس DateTime پی اچ پی رو داره (به غیر از یکی که اونم وقت کنم ایشالاه اضافه میکنم) حالا یه مثال میزنم برید حالشو ببرید:
$d1 = (new JDateTime(new DateTimeZone('Asia/Tehran')))->modify('+10 day'); // jalali date
echo (new DateTime('now', new DateTimeZone('Asia/Tehran')))->diff($d1)->format('%R%a day'); // Gregorian - output +10 day :)

echo '<br>';

$d1 = (new JDateTime(new DateTimeZone('Asia/Tehran')))->setDate(1394, 4, 3); // jalali date
echo (new DateTime('now', new DateTimeZone('Asia/Tehran')))->diff($d1)->format('%R%a day'); // Gregorian - output -8 day :)

این یه گوشه از امکاناته باحاله این کلاس :دی

---

خب برادرا توی کلاس مشارکتم نکردید نکردید :دی (البته مشارکتتون هم باعث دلگرمیه طبیعتا) ولی مطمئنم این کلاس لازمتون میشه پس اگه باگی چیزی دیدید توی github اطلاع بدید :)
اگه قابل دونستید به بقیه ی برنامه نویسا هم اطلاع بدید و یا توی انجمن ها کلاس رو معرفی کنید.

---

فقط دوستان متاسفانه من وقت داکیومنت نوشتن ندارم شاید در آینده تکمیل کردم... (البته داکیومنت متد ها کامله منظورم راهنمای استفاده هستش) همه چی تقریبا مشابه کلاس DateTime پی اچ پی هست پس میتونید از راهنمای اون استفاده کنید، فقط به جای تاریخ های میلادی تاریخ شمسی وارد کنید همه جا.

---

لینکه github: https://github.com/elegantweb/JDateTime
پاسخ
تشکر شده توسط: php
#2
فقط یه سری شبهات توی بخش createFromFormat وجود داره که نیاز به راهنمایی دارم.
مثلا من الویت رو timestamp گذاشتم، یعنی اگه تاریخ + timestamp وارد بشه، دیگ تاریخو چک نمیکنه و از timestamp استفاده میکنه، نمیدونم این درسته یا نه :-؟
و یکی هم فرمت y هست، توی میلادی اینو از سال 1970-2069 گذاشته، توی شمسی نمیدونم چند بزاریم خوبه :-؟
پاسخ
تشکر شده توسط:
#3
اول میشه بگید مشکل Jdate چی بودهو شما چه کار کردین دقیقا؟ :-؟؟
پاسخ
تشکر شده توسط:
#4
jdate از توابع date توی php استفاده میکنه، که تقریبا منقرض شدن و کلاس DateTime جایگزینشون شده.
توی jdate شما نمیتونی بیشتر از سال 2038 رو محاسبه کنی.
توی jdate شما نمیتونی فرمت شمسی رو به تاریخ تبدیل کنی.
توی jdate نمیتونی مستقیما اختلافه 2 تاریخ شمسی یا یه تاریخ شمسی با یه تاریخ میلادی (یا برعکس) رو بدست بیاری.
توی jdate امکان تبدیل مستقیم تاریخ به یه فرمت دیگ نیست (البته تو JDateTime هم فعلا ننوشتم) ولی توی DateTime هست.
توی jdate نمیتونید تاریخ با فرمت ISO رو به هر فرمتی که میخواید تبدیل کنید و باید 10 بار لقمه رو بچرخونید تا بشه.
jdate شی گرا نیست.
---
در کل یه نگاه به http://php.net/manual/en/class.datetime.php بندازید متوجه میشید.
پاسخ
تشکر شده توسط: php
#5
بنظرم با توجه به نصب نبودن افزونه DateTime توی خیلی از هاستهای اشتراکی، استفاده از JDF گزینه جایگزین مناسبی باشه.
پاسخ
تشکر شده توسط: n0o0b_sina
#6
(11-04-1394، 06:04 ب.ظ)ADMIN نوشته: بنظرم با توجه به نصب نبودن افزونه DateTime توی خیلی از هاستهای اشتراکی، استفاده از JDF گزینه جایگزین مناسبی باشه.

نقل قول:There is no installation needed to use these functions; they are part of the PHP core.

http://php.net/manual/en/datetime.installation.php
پاسخ
تشکر شده توسط:
#7
نقل از همون منبع:
نقل قول:
Note: Experimental DateTime support in PHP 5.1.x

Although the DateTime class (and related functions) are enabled by default since PHP 5.2.0, it is possible to add experimental support into PHP 5.1.x by using the following flag before configure/compile: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

البته تعداد هاستهایی که هنوز از نسخه 5.1 استفاده میکنن خیلی خیلی کمه و میشه اون رو نادیده گرفت. بهرصورت تلاشتون قابل تقدیره و چیزی که اون رو قشنگتر میکنه، انتشار بازمتن توی GitHub هست.
پاسخ
تشکر شده توسط: n0o0b_sina
#8
هدف راحتیه کاره برنامه نویسای ایرانی افزایش سرعته توسعه و استفاده از استاندارد های جدید بوده ولی متاسفانه به دلیل کمبود زمان نمیتونم این کلاس رو تو انجمن های مختلف معرفی کنم و به برنامه نویسا بشناسونم ولی وظیفم بود کلاس رو به صورت متن باز منتشر کنم تا شاید یه بنده خدایی دید و استفاده کرد :دی
---
یه جا یه دوست خوب نوشته بود وقتی تکنولوژی به وجود میاد که نیازی بهش باشه، پس ما باید از آخرین روش ها و تکنولوژی ها استفاده کنیم تا هم کسب و کار خودمونو توسعه بدیم و هم سهمی هر چند اندک توی توسعه ی کشورمون داشته باشیم.
پاسخ
تشکر شده توسط: ADMIN
#9
انتشار نسخه 2.1.3
بهبود کلی برنامه، رفع ایرادات جزئی
پاسخ
تشکر شده توسط: php




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