اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

index.php?app=downloads&module=display&section=screenshot&id=116

إسم الملف: دالة تحويل التاريخ بين اليونيكس و الاكسيل

أضيف للمكتبة بواسطة: محمد طاهر

تاريخ الإضافة: 27 Oct 2011

آخر تحديث: 28 Oct 2011

القسم فى المكتبة: قسم الإكسيل

احتجت لتحويل بعض البيانات المستخرجة من قاعدة بيانات من نوع MySQL يتم تخزين البيانات فيها بنظام اليونيكس بحسب نظام تشغيل السيرفر

لتصبح مقروؤة فى الاكسيل

فبحثت ووجدت هذه الدالة ، و ووصلة المصدر وضعتها فى الكود

و أعددت هذا المثال البسيط ليستفيد منه من يبحث عن هذه المعلومة مستقيلا

و به دالتان للتجويل من و الي الاكسيل مع اليونيكس

و الكود كما وجدته أيضا يحوي اضافة تحويل التوقيت من التقيت العالمي UTC الى توقيت استراليا

UTC-10

و يمكن تطبيق التحويل للتنسيق بين اليونيكس و الاكسيل مباشرة بمعادلة

=(C3/86400)+25569
حيث أن الاكسيل يخزن الارقام المناظرة للتواريخ بدءا من تاريخ 1900-01-01 و اليونيكس بدءا من 1970-01-01 لذا فالفرق بينهما 25569 و 86400 هو عدد الثواني فى اليوم و للتحويل من اكسيل الي يونيكس
=(D5-25569)*86400

و فى كل الاحوال اذا اردنا تغيير التوقيت نضيف أو نطرح

3600 لكل ساعة فى فرق التوقيت

و المثال الذي أعددته يحوى على الدالة الاصلية و التي تحوي اضافة 10 ساعات للتوقيت ( و مصدر الدالة فى الكود)

و تنفيذ نفس التحويل من خلال معادلة فى السطر الثانى

و أخيرا معادلة للتحويل فقط بين الزمنيين دون أخذ فرق التوقيت فى الاعتبار

إضغط هنـــــــــــا لتنزيل الملف

قام بنشر

الحاجة أم الاختراع

دالة جميلة أخي محمد

واسمح لي باختصارها كالتالي


Function u2e(d As Double) As Double

u2e = ((d + 36000) / 86400) + 25569

End Function

Function e2u(d As Double) As Double

e2u = ((d - 25569) * 86400) + 36000

End Function

بارك الله لك

ووفقك إلى كل ما يحب ويرضى

  • Like 1
قام بنشر

جزاك الله خيرا أخي محمد

و قد أفادني ردك بأنه ايضا يمكن التبسيط أكثر

و بما اننا فى الاكسيل يمكن التنفيذ بمعادلة مباشرة دون كود

و تركت الكود ايضا حيث أنه كان مصدر المعلومة بالنسبة لي ، ووصلة المصدر كتبتها داخل الكود

و قد اضفت شرح هذه الارقام و مدلولها الى الموضوع

و عدلت المثال ليحوى أيضا المعادلات دون كود

وبالفعل يمكن تبسيطه كما تفضلت ، و ان كنت احب أن أضيف أن منهجية طريقة كتابة الاكواد فى المثال الاصلي تفيد فى شرح المثال و اعتقد انها هي ايضا مفيدة و علينا دراسة اتباعها لفائدتها عند العودة للكود مرة أخرى أو عندما يقرأه شخص لا يعرفه ، و لكن خبراء الويب (مثلك) يمكنهم الدخول للمفيد مباشرة :smile2:

و الحقيقة الموضوع بعد ردك بدا لى اسهل بكثير ، مما دلنى على اضافة الحل بالمعادلات دون كود و أشكرك على الاضافة :fff:

تم تعديل المثال لاضافة الشرح و المعادلات المباشرة و شرح الارقام التى تم استخدامها للفائدة

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information