الفرق بين المراجعتين ل"Twig/date"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إدخال 2.1 تمام المحتوى وانظر أيضًا والتصانيف والمصادر.)
ط
سطر 43: سطر 43:
 
* [[ Twig/filters|الفلاتر في Twig]]
 
* [[ Twig/filters|الفلاتر في Twig]]
 
== المصادر ==
 
== المصادر ==
* [https://twig.symfony.com/doc/3.x/filters/data_uri.html صفحة الفلتر data_uri من توثيق Twig الرسمي.]
+
* [https://twig.symfony.com/doc/3.x/filters/data_uri.html صفحة الفلتر date من توثيق Twig الرسمي.]
  
 
[[تصنيف:Twig]]
 
[[تصنيف:Twig]]
 
[[تصنيف:Twig Filters]]
 
[[تصنيف:Twig Filters]]

مراجعة 03:04، 28 أبريل 2021

يغير الفلتر date صياغة التاريخ إلى الصيغة المعطاة:

{{ post.published_at|date("m/d/Y") }}

محدد الصيغة يشبه ذلك المدعوم في date إلا حين تكون البيانات المفلترة من نوع DateInterval، إذ يجب أن تتوافق الصيغة حينها مع DateInterval::format، ويقبل الفلتر date السلاسل النصية التي يجب أن تكون بصيغة تدعمها دالة strtotime، ونسخ DateTime أو نسخ DateInterval. فمثلًا، يجب فلترة كلمة now من أجل عرض التاريخ الحالي:

{{ "now"|date("m/d/Y") }}

استخدم \\ لتهريب الكلمات والمحارف في صيغة التاريخ، وذلك أمام كل محرف:

{{ post.published_at|date("F jS \\a\\t g:ia") }}

إذا كانت القيمة الممررة إلى الفلتر date هي null فستعيد التاريخ الحالي افتراضيًا، أما إذا أردنا سلسلة نصية فارغة بدلًا من التاريخ الحالي فاستخدم العامل الثلاثي:

{{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }}

إذا لم يتم توفير صيغة فسيستخدم Twig الصيغة الافتراضية: F j, Y H:i، ويمكن تغييرها باستدعاء التابع setDateFormat()‎ على نسخة التوسيع core، وسيكون أول وسيط هو الصيغة الافتراضية للتواريخ والثاني للفترات الزمنية، انظر:

$twig = new \Twig\Environment($loader);
$twig->getExtension(\Twig\Extension\CoreExtension::class)->setDateFormat('d/m/Y', '%d days');

المنطقة الزمنية

يُعرض التاريخ افتراضيًا بتطبيق المنطقة الزمنية الافتراضية -المحددة في php.ini أو المصرح عنها في Twig، انظر أدناه-، لكن تستطيع تخطيها بتحديد منطقة زمنية صراحة:

{{ post.published_at|date("m/d/Y", "Europe/Paris") }}

إذا كان التاريخ كائنَ DateTime وكنت تريد الحفاظ على منطقته الزمنية فمرر false كقيمة للمنطقة الزمنية:

{{ post.published_at|date("m/d/Y", false) }}

يمكن تعيين المنطقة الزمنية الافتراضية تعيينًا عامًا (globally) باستدعاء setTimezone()‎:

$twig = new \Twig\Environment($loader);
$twig->getExtension(\Twig\Extension\CoreExtension::class)->setTimezone('Europe/Paris');

الوسائط

  • format: صيغة التاريخ.
  • timezone: المنطقة الزمنية للتاريخ.

انظر أيضًا

المصادر