الفرق بين المراجعتين لصفحة: «Ruby/Time/strftime»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>strftime | <noinclude>{{DISPLAYTITLE: التابع <code>Time.strftime</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Time]] | [[تصنيف: Ruby Time]] | ||
يُنسق التابع <code>strftime</code> [[Ruby/Time|التوقيت]] وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق | يُنسق التابع <code>strftime</code> [[Ruby/Time|التوقيت]] الذي استدعي معه وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المُمرَّرة إليه. | ||
==البنية العامة== | |||
<syntaxhighlight lang="ruby">strftime( string ) → string</syntaxhighlight> | |||
==المعاملات== | |||
===<code>string</code>=== | |||
سلسلة التنسيق التي تحدد تنسيق التوقيت المعطى. | |||
تبدأ المُوجّهات بعلامة النسبة المئوية (<code>%</code>). سيتم تمرير أي نص لم يتم إدراجه على شكل الموجهات إلى [[Ruby/String|السلسلة النصية]] المُخرجة. يتكون الموجه من علامة النسبة المئوية (<code>%</code>)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومُعدِّل اختياري، ومُحَوِّل كما يلي:<syntaxhighlight lang="ruby">%<flags><width><modifier><conversion></syntaxhighlight>الرايات <code>flags</code> المتاحة للاستعمال هي: | |||
*<code>-</code> : عدم حشو (pad) المخرجات بقيم عددية. | |||
*<code>_</code> استخدام المسافات البيضاء للحشو. | |||
*<code>0</code> :استخدام الاصفار للحشو. | |||
*<code>^</code> : حول السلسلة النصية المُخرجة إلى حروف كبيرة. | |||
*<code>#</code> : غير حالة الأحرف. | |||
*<code>:</code> استخدم النقطتين لأجل <code>%z</code>. | |||
يحدد الحقل <code>width</code> قيمة الحد الأدنى للعرض. | |||
المعدلات <code>modifier</code> هي "<code>E</code>" و "<code>O</code>". وسيتم تجاهلها. | |||
مُوجّهات التنسيق وهي: | |||
مُوجّهات التنسيق: | |||
{| class="wikitable" | {| class="wikitable" | ||
!التاريخ (السنة - الشهر - اليوم) | !التاريخ (السنة - الشهر - اليوم) | ||
|- | |- | ||
|<code>%Y</code>: السنة مع القرن (في حال توفيره) | |<code>%Y</code>: السنة مع القرن (في حال توفيره)؛ ستطول النتيجة بأربعة منازل على الأقل مثل <code>-0001</code>، و <code>0000</code>، و <code>1995</code>، و <code>2009</code>، و <code>14292</code>. | ||
<code>%C</code>: السنة | <code>%C</code>: هي ناتج قسمة السنة / 100، مع تقريب الناتج إلى الأسفل، مثل تحويل 2009 إلى 20. | ||
<code>%y</code>: السنة % | <code>%y</code>: هي ناتج باقي قسمة السنة % 100 (يتراوح الناتج بين 00..99). | ||
<code>%m</code>: رقم الشهر في السنة، مع | <code>%m</code>: رقم الشهر في السنة، مع حشوه بصفر (يترواح بين01..12). يمكن استعمال الخيار <code>%_m</code> لحشو قيمة الشهر بمسافة بيضاء (مثل 1..12)، أو الخيار <code>%-m</code> لعدم استعمال أية حاشية (1..12). | ||
<code>%B</code>: اسم الشهر بالكامل | <code>%B</code>: اسم الشهر بالكامل (مثل "<code>January</code><nowiki>''</nowiki>) أو بأحرف كبيرة مع الخيار <code>%^B</code>. | ||
<code>%b</code>:اسم الشهر المختصر("<code>JAN</code><nowiki>''</nowiki>) أو بأحرف كبيرة مع الخيار <code>%^b</code> | <code>%b</code>:اسم الشهر المختصر (مثل "<code>JAN</code><nowiki>''</nowiki>) أو بأحرف كبيرة مع الخيار .<code>%^b</code> | ||
<code>%h</code>: يكافئ <code>%b</code> | <code>%h</code>: يكافئ <code>%b</code>. | ||
<code>%d</code>: رقم اليوم في الشهر، مع | <code>%d</code>: رقم اليوم في الشهر، مع حشوه بصفر (01..31). يمكن استعمال الخيار <code>%-d</code> لعدم حشو القيمة بصفر (لتصبح بالشكل 1..31). | ||
<code>%e</code>: رقم اليوم في الشهر، مع | <code>%e</code>: رقم اليوم في الشهر، مع حشوه بمسافات بيضاء ( 1..31). | ||
<code>%j</code>: رقم اليوم في السنة (001..366) | <code>%j</code>: رقم اليوم في السنة (001..366). | ||
|- | |- | ||
!الوقت (الساعات - الدقائق - الثواني - | !الوقت (الساعات - الدقائق - الثواني - أجزاء الثواني) | ||
|- | |- | ||
|<code>%H</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع | |<code>%H</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع حشوه بأصفار (00..23). | ||
<code>%k</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع حشوه بمسافات بيضاء( 0..23). | |||
<code>%k</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع | |||
<code>%I</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع | <code>%I</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع حشوه بأصفار ( 1..12). | ||
<code>%l</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع | <code>%l</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع حشوه بمسافات بيضاء ( 1..12). | ||
<code>%P</code>: محدد الصباح والمساء بأحرف صغيرة (<code>am</code> أو<code>pm</code>) | <code>%P</code>: محدد الصباح والمساء بأحرف صغيرة (<code>am</code> أو<code>pm</code>). | ||
<code>%p</code>: | <code>%p</code>: محدد الصباح والمساء بأحرف كبيرة (<code>AM</code> و <code>PM</code>). | ||
<code>%M</code>: رقم الدقيقة في الساعة (00..59) | <code>%M</code>: رقم الدقيقة في الساعة (00..59). | ||
<code>%S</code>: رقم الثانية في الدقيقة (00..59) | <code>%S</code>: رقم الثانية في الدقيقة (00..59). | ||
<code>%L</code>: رقم | <code>%L</code>: رقم الميلي ثانية في الثانية (00..999)؛ يتم اقتطاع الأرقام حتى لا تُنتج العدد 1000. | ||
<code>%N</code>: | <code>%N</code>: عدد الثواني مع أجزائها؛ عدد المنازل العشرية الافتراضية هو 9 (نانو ثانية). يمكن يمكن تحديد أجزاء الثانية بالشكل التالي: | ||
* <code>%3N</code>: | *<code>%3N</code>: ميلي ثانية (3 أعشار). | ||
* <code>%6N</code>: ميكروثانية (6 أعشار). | *<code>%6N</code>: ميكروثانية (6 أعشار). | ||
* <code>%9N</code>: نانوثانية (9 أعشار). | *<code>%9N</code>: نانوثانية (9 أعشار). | ||
* <code>%12N</code>: بيكوثانية (12 منزلا عشريا). | *<code>%12N</code>: بيكوثانية (12 منزلا عشريا). | ||
* <code>%15N</code>: فيمتوثانية (15 منزلا عشريا). | *<code>%15N</code>: فيمتوثانية (15 منزلا عشريا). | ||
* <code>%18N</code>: أتوثانية (18 منزلا عشريا). | *<code>%18N</code>: أتوثانية (18 منزلا عشريا). | ||
* <code>%21N</code>: زيبتوثانية (21 منزلا عشريا). | *<code>%21N</code>: زيبتوثانية (21 منزلا عشريا). | ||
* <code>%24N</code>: يوكتوثانية (24 منزلا عشريا). | *<code>%24N</code>: يوكتوثانية (24 منزلا عشريا). | ||
يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | ||
|- | |- | ||
!المنطقة الزمنية | !المنطقة الزمنية | ||
|- | |- | ||
|<code>%z</code>: المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد ( | |<code>%z</code>: المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثل +0900). يمكن استعمال الرايات مع هذا الموجه بالشكل التالي: | ||
* <code>%:z</code>: فرق | *<code>%:z</code>: فرق الساعات والدقائق مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثل +09:00). | ||
* <code>%::z</code>: فرق | *<code>%::z</code>: فرق الساعات والدقائق والثواني مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثل +09:00:00). | ||
<code>%Z</code>: اسم مختصر للمنطقة الزمنية أو معلومات مشابهة (تتعلق بنوع النظام | <code>%Z</code>: اسم مختصر للمنطقة الزمنية أو معلومات مشابهة (تتعلق بنوع النظام المستخدم). | ||
|- | |- | ||
!اليوم من الأسبوع | !اليوم من الأسبوع | ||
|- | |- | ||
|<code>%A</code>: الاسم الكامل لليوم ("<code>Sunday</code>") | |<code>%A</code>: الاسم الكامل لليوم (مثل "<code>Sunday</code>")؛ الخيار <code>%^A</code> يجعله بأحرف كبيرة (مثل "<code>SUNDAY</code>"). | ||
<code>%a</code>: الاسم المختصر لليوم ("<code>Sun</code>") | <code>%a</code>: الاسم المختصر لليوم (مثل "<code>Sun</code>")؛ الخيار <code>%^a</code> يجعله بأحرف كبيرة (مثل "<code>SUN</code>"). | ||
<code>%u</code>: رقم اليوم من الأسبوع (الاثنين هو اليوم 1 من 1..7) | <code>%u</code>: رقم اليوم من الأسبوع (الاثنين هو اليوم 1 من 1..7). | ||
<code>%w</code>: رقم اليوم من الأسبوع (الأحد هو اليوم 0 من 0..6) | <code>%w</code>: رقم اليوم من الأسبوع (الأحد هو اليوم 0 من 0..6). | ||
|- | |- | ||
! | !المعيار ISO 8601 لتحديد الأسابيع | ||
|- | |- | ||
|يبدأ الأسبوع الأول من السنة YYYY يوم الإثنين ويتضمن YYYY-01-04. أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع الأخير من العام السابق. | |يبدأ الأسبوع الأول من السنة YYYY يوم الإثنين ويتضمن YYYY-01-04. أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع الأخير من العام السابق. | ||
<code>%G</code>: الأسبوع السنوي (week-based year). | <code>%G</code>: الأسبوع السنوي (week-based year). | ||
<code>%g</code>: آخر رقمين من قيمة الأسبوع السنوي (00..99). | <code>%g</code>: آخر رقمين من قيمة الأسبوع السنوي (00..99). | ||
<code>%V</code>: رقم الأسبوع من السنة (01..53) | <code>%V</code>: رقم الأسبوع من السنة (01..53). | ||
|- | |- | ||
!رقم الأسبوع | !رقم الأسبوع | ||
|- | |- | ||
|الأسبوع الأول من السنة YYYY الذي يبدأ بالأحد أو الاثنين (وفقًا | |الأسبوع الأول من السنة YYYY الذي يبدأ بالأحد أو الاثنين (وفقًا للموجه <code>%W</code> أو <code>%U</code>). أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع رقم 0. | ||
<code>%U</code>: رقم الأسبوع من السنة؛ الأسبوع يبدأ يوم الأحد (00..53). | |||
<code>%U</code>: رقم الأسبوع من | |||
<code>%W</code>:رقم الأسبوع من | <code>%W</code>:رقم الأسبوع من السنة؛ الأسبوع يبدأ يوم الاثنين (00..53). | ||
|- | |- | ||
!الثواني منذ [https://ar.wikipedia.org/wiki/%D8%AA%D9%88%D9%82%D9%8A%D8%AA_%D9%8A%D9%88%D9%86%D9%83%D8%B3 | !الثواني منذ [https://ar.wikipedia.org/wiki/%D8%AA%D9%88%D9%82%D9%8A%D8%AA_%D9%8A%D9%88%D9%86%D9%83%D8%B3 توقيت يونيكس] | ||
|- | |- | ||
|<code>%s</code>: عدد الثواني التي مرت منذ 1970-01-01 00:00:00 UTC. | |<code>%s</code>: عدد الثواني التي مرت منذ الوقت 1970-01-01 00:00:00 UTC. | ||
|- | |- | ||
!السلاسل النصية الحرفية | !السلاسل النصية الحرفية | ||
|- | |- | ||
|<code>%n</code>: محرف السطر الجديد ("<code>\n</code>") | |<code>%n</code>: محرف السطر الجديد ("<code>\n</code>"). | ||
<code>%t</code>: محرف مسافة الجدولة الأفقية ("<code>\t</code>"). | |||
<code>%t</code>: | |||
<code>%%</code>: المحرف "<code>%</code>" | <code>%%</code>: المحرف "<code>%</code>". | ||
|- | |- | ||
! | !موجهات تجميعية | ||
|- | |- | ||
|<code>%c</code>: التاريخ والوقت (<code>%a</code> <code>%b</code> <code>%e</code> <code>%T</code> <code>%Y</code>) | |<code>%c</code>: التاريخ والوقت (<code>%a</code> <code>%b</code> <code>%e</code> <code>%T</code> <code>%Y</code>). | ||
<code>%D</code>: التاريخ (<code>%m/%d/%y</code>). | <code>%D</code>: التاريخ (<code>%m/%d/%y</code>). | ||
سطر 127: | سطر 125: | ||
<code>%V</code>: تاريخ VMS (على هيئة <code>%e-%^b-%4Y</code>). | <code>%V</code>: تاريخ VMS (على هيئة <code>%e-%^b-%4Y</code>). | ||
<code>%x</code>: يشبه <code>%D</code> | <code>%x</code>: يشبه <code>%D</code>. | ||
<code>%X</code>: يشبه <code>%T</code> | <code>%X</code>: يشبه <code>%T</code>. | ||
<code>%r</code>: الوقت بصيغة 12 ساعة (<code>%I:%M:%S %p</code>). | <code>%r</code>: الوقت بصيغة 12 ساعة (<code>%I:%M:%S %p</code>). | ||
سطر 136: | سطر 134: | ||
<code>%T</code>: الوقت بصيغة 24 ساعة (<code>%H:%M:%S</code>). | <code>%T</code>: الوقت بصيغة 24 ساعة (<code>%H:%M:%S</code>). | ||
|} | |}هذا التابع يشبه الدالة <code>strftime()</code> المعرفة في ISO C و POSIX. | ||
هذا التابع يشبه الدالة strftime () | |||
في حين أن جميع المُوجّهات مستقلة عن الإعدادات المحلية منذ روبي 1.9، | في حين أن جميع المُوجّهات مستقلة عن الإعدادات المحلية منذ روبي 1.9، فإنَّ <code>Z%</code> يعتمد على نظام التشغيل. لذلك، قد تختلف النتيجة حتى لو تم استخدام نفس سلسلة التنسيق في أنظمة أخرى مثل لغة C. | ||
يوصى باستخدام % z | يوصى باستخدام <code>%z</code> بدلًا من <code>%Z</code> لأنَّ <code>%Z</code> لا تحدِّد المنطقة الزمنية. على سبيل المثال، يتم استخدام "<code>CST</code>" في أمريكا / شيكاغو (-06: 00) وأمريكا / هافانا (-05: 00) وآسيا / هاربين (+08: 00) وأستراليا / داروين (+09: 30) وأستراليا / أديلايد (+10: 30). كما أنَّ <code>%Z</code> تعتمد بشكل كبير على نظام التشغيل. على سبيل المثال، قد تقوم بإنشاء [[Ruby/String|سلسلة نصية]] من غير الترميز ASCII على ويندوز لغته ياباني. أي أنّ النتيجة يمكن أن تكون مختلفة عن "<code>JST</code>". بناءً على ذلك، يُنصح باستخدام <code>%z</code>. | ||
أمثلة: | أمثلة على تنسيقات ISO 8601:<syntaxhighlight lang="ruby">%Y%m%d => 20071119 تاريخ الجداول الزمنية | ||
%F => 2007-11-19 تاريخ الجداول الزمنية - موسع | |||
%Y-%m => 2007-11 تاريخ الجداول الزمنية - دفة محدودة - شهر محدد | |||
%Y => 2007 تاريخ الجداول الزمنية - دفة محدودة - سنة محدد | |||
%C => 20 تاريخ الجداول الزمنية - دفة محدودة - قرن محدد | |||
%Y%j => 2007323 التاريخ الأصلي - أساسي | |||
%Y-%j => 2007-323 التاريخ الأصلي - موسع | |||
%GW%V%u => 2007W471 تاريخ الأسبوع - أساسي | |||
%G-W%V-%u => 2007-W47-1 تاريخ الأسبوع - موسع | |||
%GW%V => 2007W47 تاريخ الاسبوع - دفة محدودة - شهر محدد | |||
%G-W%V => 2007-W47 تاريخ الاسبوع - دفة محدودة - اسبوع محدد (extended) | |||
%H%M%S => 083748 التوقيت المحلي - أساسي | |||
%T => 08:37:48 التوقيت المحلي - موسع | |||
%H%M => 0837 التوقيت المحلي - دقة محدودة - دقيقة محددة -اساسي | |||
%H:%M => 08:37 التوقيت المحلي - دقة محدودة - دقيقة محددة -موسع | |||
%H => 08 التوقيت المحلي - دقة محدودة - ساعة محددة | |||
%H%M%S,%L => 083748,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - أساسي | |||
%T,%L => 08:37:48,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - موسع | |||
%H%M%S.%L => 083748.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - أساس | |||
%T.%L => 08:37:48.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - موسع | |||
%H%M%S%z => 083748-0600 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - أساس | |||
%T%:z => 08:37:48-06:00 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع | |||
%Y%m%dT%H%M%S%z => 20071119T083748-0600 تاريخ ووقت اليوم من تاريخ الجدول الزمني - اساسي | |||
%FT%T%:z => 2007-11-19T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الجدول الزمني موسع | |||
%Y%jT%H%M%S%z => 2007323T083748-0600 تاريخ ووقت اليوم من التاريخ العادي - اساسي | |||
%Y-%jT%T%:z => 2007-323T08:37:48-06:00 تاريخ ووقت اليوم من التاريخ العادي - موسع | |||
%GW%V%uT%H%M%S%z => 2007W471T083748-0600 تاريخ ووقت اليوم من تاريخ الأسبوع - أساسي | |||
%G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الأسبوع - موسع | |||
%Y%m%dT%H%M => 20071119T0837 تاريخ الحدول الزمني والتوقيت المحلي - أساسي | |||
%FT%R => 2007-11-19T08:37 تاريخ الحدول الزمني والتوقيت المحلي - موسع | |||
%Y%jT%H%MZ => 2007323T0837Z التاريخ العادي والتوقيت العالمي الموحد- اساسي | |||
%Y-%jT%RZ => 2007-323T08:37Z التاريخ العادي والتوقيت العالمي الموحد- موسع | |||
GW%V%uT%H%M%z => 2007W471T0837-0600 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - اساسي | |||
%G-W%V-%uT%R%:z => 2007-W47-1T08:37-06:00 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع</syntaxhighlight> | |||
==القيمة المعادة== | |||
تعاد [[Ruby/String|سلسلة نصية]] تحوي التوقيت المعطى بعد تنسيقه وفقًا لسلسلة التنسيق <code>string</code>. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>strftime</code>:<syntaxhighlight lang="ruby">t = Time.new(2007,11,19,8,37,48,"-06:00") #=> 2007-11-19 08:37:48 -0600 | مثال على استخدام التابع <code>strftime</code>:<syntaxhighlight lang="ruby">t = Time.new(2007,11,19,8,37,48,"-06:00") #=> 2007-11-19 08:37:48 -0600 | ||
t.strftime("Printed on %m/%d/%Y") #=> "Printed on 11/19/2007" | t.strftime("Printed on %m/%d/%Y") #=> "Printed on 11/19/2007" | ||
t.strftime("at %I:%M%p") #=> "at 08:37AM"</syntaxhighlight> | t.strftime("at %I:%M%p") #=> "at 08:37AM"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
*التابع <code>[[Ruby/Time/sec|sec]]</code>: يستخلص | *التابع <code>[[Ruby/Time/sec|sec]]</code>: يستخلص من [[Ruby/Time|التوقيت]] رقم الثانية في الدقيقة. | ||
*التابع <code>[[Ruby/Time/subsec|subsec]]</code>: يُعيد | *التابع <code>[[Ruby/Time/subsec|subsec]]</code>: يُعيد الجزء العشري للثانية من [[Ruby/Time|التوقيت]] المعطى. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Time.html#method-i-strftime قسم | *[http://ruby-doc.org/core-2.5.1/Time.html#method-i-strftime قسم التابع strftime في الصنف Time في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 16:51، 7 ديسمبر 2018
يُنسق التابع strftime
التوقيت الذي استدعي معه وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المُمرَّرة إليه.
البنية العامة
strftime( string ) → string
المعاملات
string
سلسلة التنسيق التي تحدد تنسيق التوقيت المعطى.
تبدأ المُوجّهات بعلامة النسبة المئوية (%
). سيتم تمرير أي نص لم يتم إدراجه على شكل الموجهات إلى السلسلة النصية المُخرجة. يتكون الموجه من علامة النسبة المئوية (%
)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومُعدِّل اختياري، ومُحَوِّل كما يلي:
%<flags><width><modifier><conversion>
الرايات flags
المتاحة للاستعمال هي:
-
: عدم حشو (pad) المخرجات بقيم عددية._
استخدام المسافات البيضاء للحشو.0
:استخدام الاصفار للحشو.^
: حول السلسلة النصية المُخرجة إلى حروف كبيرة.#
: غير حالة الأحرف.:
استخدم النقطتين لأجل %z
.
يحدد الحقل width
قيمة الحد الأدنى للعرض.
المعدلات modifier
هي "E
" و "O
". وسيتم تجاهلها.
مُوجّهات التنسيق وهي:
التاريخ (السنة - الشهر - اليوم) |
---|
%Y : السنة مع القرن (في حال توفيره)؛ ستطول النتيجة بأربعة منازل على الأقل مثل -0001 ، و 0000 ، و 1995 ، و 2009 ، و 14292 .
|
الوقت (الساعات - الدقائق - الثواني - أجزاء الثواني) |
%H : رقم الساعة في اليوم، في نظام 24 ساعة، مع حشوه بأصفار (00..23).
يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. |
المنطقة الزمنية |
%z : المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثل +0900). يمكن استعمال الرايات مع هذا الموجه بالشكل التالي:
|
اليوم من الأسبوع |
%A : الاسم الكامل لليوم (مثل "Sunday ")؛ الخيار %^A يجعله بأحرف كبيرة (مثل "SUNDAY ").
|
المعيار ISO 8601 لتحديد الأسابيع |
يبدأ الأسبوع الأول من السنة YYYY يوم الإثنين ويتضمن YYYY-01-04. أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع الأخير من العام السابق.
|
رقم الأسبوع |
الأسبوع الأول من السنة YYYY الذي يبدأ بالأحد أو الاثنين (وفقًا للموجه %W أو %U ). أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع رقم 0.
|
الثواني منذ توقيت يونيكس |
%s : عدد الثواني التي مرت منذ الوقت 1970-01-01 00:00:00 UTC.
|
السلاسل النصية الحرفية |
%n : محرف السطر الجديد ("\n ").
|
موجهات تجميعية |
%c : التاريخ والوقت (%a %b %e %T %Y ).
|
هذا التابع يشبه الدالة strftime()
المعرفة في ISO C و POSIX.
في حين أن جميع المُوجّهات مستقلة عن الإعدادات المحلية منذ روبي 1.9، فإنَّ Z%
يعتمد على نظام التشغيل. لذلك، قد تختلف النتيجة حتى لو تم استخدام نفس سلسلة التنسيق في أنظمة أخرى مثل لغة C.
يوصى باستخدام %z
بدلًا من %Z
لأنَّ %Z
لا تحدِّد المنطقة الزمنية. على سبيل المثال، يتم استخدام "CST
" في أمريكا / شيكاغو (-06: 00) وأمريكا / هافانا (-05: 00) وآسيا / هاربين (+08: 00) وأستراليا / داروين (+09: 30) وأستراليا / أديلايد (+10: 30). كما أنَّ %Z
تعتمد بشكل كبير على نظام التشغيل. على سبيل المثال، قد تقوم بإنشاء سلسلة نصية من غير الترميز ASCII على ويندوز لغته ياباني. أي أنّ النتيجة يمكن أن تكون مختلفة عن "JST
". بناءً على ذلك، يُنصح باستخدام %z
.
أمثلة على تنسيقات ISO 8601:
%Y%m%d => 20071119 تاريخ الجداول الزمنية
%F => 2007-11-19 تاريخ الجداول الزمنية - موسع
%Y-%m => 2007-11 تاريخ الجداول الزمنية - دفة محدودة - شهر محدد
%Y => 2007 تاريخ الجداول الزمنية - دفة محدودة - سنة محدد
%C => 20 تاريخ الجداول الزمنية - دفة محدودة - قرن محدد
%Y%j => 2007323 التاريخ الأصلي - أساسي
%Y-%j => 2007-323 التاريخ الأصلي - موسع
%GW%V%u => 2007W471 تاريخ الأسبوع - أساسي
%G-W%V-%u => 2007-W47-1 تاريخ الأسبوع - موسع
%GW%V => 2007W47 تاريخ الاسبوع - دفة محدودة - شهر محدد
%G-W%V => 2007-W47 تاريخ الاسبوع - دفة محدودة - اسبوع محدد (extended)
%H%M%S => 083748 التوقيت المحلي - أساسي
%T => 08:37:48 التوقيت المحلي - موسع
%H%M => 0837 التوقيت المحلي - دقة محدودة - دقيقة محددة -اساسي
%H:%M => 08:37 التوقيت المحلي - دقة محدودة - دقيقة محددة -موسع
%H => 08 التوقيت المحلي - دقة محدودة - ساعة محددة
%H%M%S,%L => 083748,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - أساسي
%T,%L => 08:37:48,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - موسع
%H%M%S.%L => 083748.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - أساس
%T.%L => 08:37:48.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - موسع
%H%M%S%z => 083748-0600 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - أساس
%T%:z => 08:37:48-06:00 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع
%Y%m%dT%H%M%S%z => 20071119T083748-0600 تاريخ ووقت اليوم من تاريخ الجدول الزمني - اساسي
%FT%T%:z => 2007-11-19T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الجدول الزمني موسع
%Y%jT%H%M%S%z => 2007323T083748-0600 تاريخ ووقت اليوم من التاريخ العادي - اساسي
%Y-%jT%T%:z => 2007-323T08:37:48-06:00 تاريخ ووقت اليوم من التاريخ العادي - موسع
%GW%V%uT%H%M%S%z => 2007W471T083748-0600 تاريخ ووقت اليوم من تاريخ الأسبوع - أساسي
%G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الأسبوع - موسع
%Y%m%dT%H%M => 20071119T0837 تاريخ الحدول الزمني والتوقيت المحلي - أساسي
%FT%R => 2007-11-19T08:37 تاريخ الحدول الزمني والتوقيت المحلي - موسع
%Y%jT%H%MZ => 2007323T0837Z التاريخ العادي والتوقيت العالمي الموحد- اساسي
%Y-%jT%RZ => 2007-323T08:37Z التاريخ العادي والتوقيت العالمي الموحد- موسع
GW%V%uT%H%M%z => 2007W471T0837-0600 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - اساسي
%G-W%V-%uT%R%:z => 2007-W47-1T08:37-06:00 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع
القيمة المعادة
تعاد سلسلة نصية تحوي التوقيت المعطى بعد تنسيقه وفقًا لسلسلة التنسيق string
.
أمثلة
مثال على استخدام التابع strftime
:
t = Time.new(2007,11,19,8,37,48,"-06:00") #=> 2007-11-19 08:37:48 -0600
t.strftime("Printed on %m/%d/%Y") #=> "Printed on 11/19/2007"
t.strftime("at %I:%M%p") #=> "at 08:37AM"
انظر أيضًا
- التابع
sec
: يستخلص من التوقيت رقم الثانية في الدقيقة. - التابع
subsec
: يُعيد الجزء العشري للثانية من التوقيت المعطى.