البرمجة

الحصول على التاريخ والوقت في Elixir وPhoenix

عندما تقوم بتطوير تطبيقاتك باستخدام لغة برمجة Elixir وإطار العمل Phoenix، من المفيد جدًا أن تتمكن من الحصول على تاريخ ووقت النظام بطريقة سهلة وفعالة دون الحاجة إلى استخدام مكتبات خارجية. في هذا المقال، سنتعرف على كيفية القيام بذلك باستخدام الأدوات المتاحة بشكل مدمج في Elixir وEcto.

للبداية، دعنا نلقي نظرة على كيفية الحصول على تاريخ ووقت النظام باستخدام Elixir. يوفر Elixir دالة مدمجة تُسمى DateTime.utc_now/0 التي تُستخدم للحصول على تاريخ ووقت الحالي بتوقيت عالمي (UTC). يمكننا استخدام هذه الدالة بسهولة للحصول على التاريخ والوقت الحالي دون الحاجة إلى أي مكتبات إضافية.

على سبيل المثال، يمكنك استخدام الدالة DateTime.utc_now/0 كما يلي:

elixir
current_datetime = DateTime.utc_now()

بعد أن حصلنا على التاريخ والوقت الحالي، يمكننا استخدامها في تطبيقاتنا بالطريقة التي نريدها. ومع ذلك، في بعض الحالات قد نحتاج أيضًا إلى التعامل مع التوقيت المحلي للمستخدم، وليس فقط التوقيت العالمي. لهذا الغرض، يمكننا استخدام مكتبة Ecto.

Ecto هي مكتبة تستخدم لتواصل مع قواعد البيانات في تطبيقات Elixir، وهي جزء من إطار العمل Phoenix. بجانب قدرتها على التفاعل مع قواعد البيانات، توفر Ecto أيضًا دعمًا مدمجًا للتعامل مع التواريخ والأوقات.

للحصول على التاريخ والوقت الحالي بالتوقيت المحلي باستخدام Ecto، يمكنك استخدام الدالة Ecto.DateTime.local/0 كما يلي:

elixir
current_datetime = Ecto.DateTime.local()

هذا سيعيد لك التاريخ والوقت الحالي بتوقيت المنطقة الزمنية التي تم تعيينها في تطبيقك.

بهذه الطريقة، يمكنك الحصول على تاريخ ووقت النظام بسهولة دون الحاجة إلى استخدام مكتبات خارجية، سواء كنت تستخدم Elixir بمفردها أو بالتعاون مع إطار العمل Phoenix ومكتبة Ecto.

المزيد من المعلومات

بالطبع، يمكننا الآن التعمق قليلاً في كيفية استخدام هذه القيم المسترجعة في تطبيقاتنا. فلنفترض أن لدينا تطبيق ويب بسيط نريد عرض تاريخ ووقت الصفحة الرئيسية باستخدام Elixir وPhoenix.

في ملف تحكم الصفحة الرئيسية (lib/my_app_web/controllers/page_controller.ex على سبيل المثال)، يمكننا استخدام الدوال التي تعيد تاريخ ووقت النظام وتمريرها إلى القالب لعرضها.

elixir
defmodule MyAppWeb.PageController do use MyAppWeb, :controller def index(conn, _params) do current_datetime = DateTime.utc_now() render(conn, "index.html", current_datetime: current_datetime) end end

ثم، في قالب الصفحة الرئيسية (lib/my_app_web/templates/page/index.html.eex على سبيل المثال)، يمكننا عرض التاريخ والوقت بالشكل الذي نريده.

elixir

Welcome to my app!

The current date and time is: <%= @current_datetime %>

بهذا، سيتم عرض تاريخ ووقت النظام الحالي على صفحة الويب الرئيسية الخاصة بتطبيقك.

كما يُلاحظ، فإن استخدام Ecto.DateTime.local() سيعود بالتوقيت المحلي للنظام. إذا كنت ترغب في استخدام توقيت مختلف، يمكنك استخدام الدوال المتاحة في Elixir لتغيير التوقيت والمنطقة الزمنية، مثل DateTime.shift_zone/2 لتحويل التوقيت بين المناطق الزمنية.

وهكذا، يمكن لتطبيقاتك القائمة على Elixir وPhoenix الاستفادة من الوظائف المدمجة في اللغة والإطار للحصول على تاريخ ووقت النظام بكفاءة ودون الحاجة إلى الاعتماد على مكتبات خارجية، مما يسهل عليك تطوير تطبيقات سلسة وموثوقة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر