السلام عليكم و رحمه الله تعالى و بركاته
اقوم حاليا ببرمجه تطبيق شبيه بقارىء rss ، و كنت بحاجه لتحويل التاريخ الذى كتب فيه الموضوع إلى صيغه يسهل قرائتها بحيث يحول تاريخ قديم مثل Mon Aug 24 2:30:00 2009 إلى منذ ساعه و 30 دقيقه ، بعد بحث بسيط وجدت وظيفه بإسم prettyDate كتبها john resig مطور ال jQuery ، لكنها لن تعمل معى لأنها تعطى الفرق بالدقيقه و الساعه و اليوم و الاسبوع و انا ااريدها ان تعمل من الثانيه حتى السنه ، ثم ان prettyDate مقتصره على تحويل الوحدات إلى اللغه الانجليزيه فقط مثل days و weeks … الخ ، و انا اريد وظيفه تتعامل بالعربيه مع العلم ان العربيه اكثر تعقيدا حيث هناك مفرد و مثنى و جمع و قواعدهم مختلفه مثل يوم ، يومين ، 3 ايام ، 11 يوم ، لاحظ ان يوم تكررت فى المفرد و الجمع ههههههه
.
قمت بكتابه وظيفه بإسم dateICanRead تقبل تاريخ فى الماضى كنص او كائن من نوع Date و ترجع لك الفرق بصيغه مقروءه كما توضح الامثله التاليه :
alert("منذ " + dateICanRead("Mon Aug 24 14:50:00 2009"));
/*منذ دقيقتين و 30 ثانيه*/
alert("منذ " + dateICanRead("Sun Aug 23 06:10:00 2009"));
/*منذ يوم و 8 ساعات و 47 دقيقه و 17 ثانيه*/
alert("منذ " + dateICanRead("Aug 11 00:00:00 2008"));
/*منذ سنه و اسبوع و 6 ايام و 14 ساعه و 58 دقيقه و 30 ثانيه*/
alert("منذ " + dateICanRead("Aug 12 00:00:00 2009"));
/*منذ اسبوع و 5 ايام و 15 ساعه 8 دقائق و 38 ثانيه*/
الوظيفه dateICanRead تقبل عباره تانيه و هى عدد الوحدات التى تريدها كما توضح الامثله التاليه :
alert("منذ " + dateICanRead("Aug 11 00:00:00 2008", 1));
/*منذ سنه*/
alert("منذ " + dateICanRead("Aug 11 00:00:00 2008", 2));
/*منذ سنه و اسبوع*/
يمكنك رؤيه الكود و تحيميل ملف dateICanRead.js من هنا .
الأوسمة: date, javascript
25/08/2009 عند 4:48 ص |
هذه الداله فيها خطأ صغير
وهي أنها لاتفرق ماإذا كان الشهر 31 يوم أو 30 أو 28 أو 29
وجربها ولاتبخل علينا بالنتيجه
25/08/2009 عند 8:30 ص |
هذه النقطه كانت فى اعتبارى يا محمد ، يمكننى معرفه ذلك لكنى لم ارد ان ازيد الامر تعقيدا داخل كل loop و ليس هذا الذى اريده ، و اخترت الرقم 30 حتى يكون وسطا بين الارقام التى ذكرتها كلها ، و لنفرض ان الشهر 28 يوم ، لن تفرق مع المستخدم ان قلت له منذ شهر او منذ 28 يوم لأنه لا يهمه فى حالتى علم التاريخ بالظبط ، يريد معرفه ما مدى قدم او حدث الموضوع لأن هناك مواضيع منذ ساعه و الاخرى منذ اسبوع و الاخرى منذ 3 دقائق المهم ان يكون هناك context قريب جدا من الزمن الحقيقى ، اذا اراد معرفه التوقيت بالظبط يمكنك المرور على الرابط مثلا سيظهر له tooltip بالتاريخ الحقيقى الذى دخل الوظيفه dateICanRead
25/08/2009 عند 6:24 ص |
روعة يا مصطفى
،
25/08/2009 عند 8:33 ص |
@عمر فينك يا راجل بقالى كتير اوى مشوفتكش ، و الف مبروك على التعيين فى شركه SIT و على الخبره اللى هتكتسبها من الاحتكاك مع فريق العمل و مشاريع حقيقيه .
26/08/2009 عند 5:57 ص |
شكرا جزيلا
26/08/2009 عند 3:36 م |
@almhajer الشكر لله ، العفو