الفرق بين المراجعتين لصفحة: «Ruby/Time/strftime»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 8: | سطر 8: | ||
يتكون الموجه من علامة النسبة المئوية (<code>%</code>)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومعدل اختياري، ومُحَوِّل (conversion specifier) كما يلي:<syntaxhighlight lang="ruby">%<flags><width><modifier><conversion></syntaxhighlight>الرايات: | يتكون الموجه من علامة النسبة المئوية (<code>%</code>)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومعدل اختياري، ومُحَوِّل (conversion specifier) كما يلي:<syntaxhighlight lang="ruby">%<flags><width><modifier><conversion></syntaxhighlight>الرايات: | ||
* <code>-</code> : عدم تطويل (pad) المخرجات العددية | *<code>-</code> : عدم تطويل (pad) المخرجات العددية | ||
* <code>_</code> استخدام المسافات البيضاء للتطويل | *<code>_</code> استخدام المسافات البيضاء للتطويل | ||
* <code>0</code> :استخدام الاصفار للتطويل | *<code>0</code> :استخدام الاصفار للتطويل | ||
* <code>^</code> : حول السلسلة النصية المُخرجة إلى حروف كبيرة. | *<code>^</code> : حول السلسلة النصية المُخرجة إلى حروف كبيرة. | ||
* <code>#</code> : غير حالة الأحرف | *<code>#</code> : غير حالة الأحرف | ||
* <code>:</code> استخدم النقطتين لأجل <code>%z:</code> | *<code>:</code> استخدم النقطتين لأجل <code>%z:</code> | ||
يحدد حقل الحد الأدنى قيمة الحد الأدنى للعرض. | يحدد حقل الحد الأدنى قيمة الحد الأدنى للعرض. | ||
سطر 22: | سطر 22: | ||
!التاريخ (السنة - الشهر - اليوم) | !التاريخ (السنة - الشهر - اليوم) | ||
|- | |- | ||
|<code>%Y</code>: السنة مع القرن (في حال توفيره)، سيطول النتيجة بأربعة منازل على الاقل. مثلا: <code>-0001</code>, <code>0000</code>, <code>1995</code>, <code>2009</code>, <code>14292</code> | |<code>%Y</code>: السنة مع القرن (في حال توفيره)، سيطول النتيجة بأربعة منازل على الاقل. مثلا: <code>-0001</code>, <code>0000</code>, <code>1995</code>, <code>2009</code>, <code>14292</code><code>%C</code>: السنة\ 100، مع تقريبها إلى الأسفل، مثل تحويل 2009 إلى 20. | ||
<code>%C</code>: السنة\ 100، مع تقريبها إلى الأسفل، مثل تحويل 2009 إلى 20. | |||
<code>%y</code>: السنة % 100، (00..99) | <code>%y</code>: السنة % 100، (00..99) | ||
سطر 43: | سطر 42: | ||
!الوقت (الساعات - الدقائق - الثواني - كسور الثواني) | !الوقت (الساعات - الدقائق - الثواني - كسور الثواني) | ||
|- | |- | ||
|<code>%H</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع تطويله بالأصفار (00..23). | |<code>%H</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع تطويله بالأصفار (00..23). | ||
<code>%k</code>: رقم الساعة في اليوم، في نظام 24 ساعة، مع تطويله بالمسافات البيضاء( 0..23). | |||
<code>% | <code>%I</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع تطويله بالأصفار ( 1..12). | ||
<code>%l</code>: رقم الساعة في اليوم، في نظام 12 ساعة، مع تطويله بالمسافات البيضاء( 1..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>) | ||
سطر 62: | سطر 60: | ||
<code>%N</code>: عدد الثواني مع الكسور، عدد المنازل العشرية الافتراضية هو 9 (نانو ثانية)، | <code>%N</code>: عدد الثواني مع الكسور، عدد المنازل العشرية الافتراضية هو 9 (نانو ثانية)، | ||
* <code>%3N</code>: ميليثانية (3 أعشار). | *<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 منزلا عشريا). | ||
يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | ||
|- | |- | ||
سطر 75: | سطر 73: | ||
|- | |- | ||
|<code>%z</code>: المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثلا +0900) | |<code>%z</code>: المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثلا +0900) | ||
* <code>%:z</code>: فرق الساعات والدقائق مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00) | *<code>%:z</code>: فرق الساعات والدقائق مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00) | ||
* <code>%::z</code>: فرق الساعات والدقائق والثواني مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00:00) | *<code>%::z</code>: فرق الساعات والدقائق والثواني مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00:00) | ||
<code>%Z</code>: اسم مختصر للمنطقة الزمنية أو معلومات مشابهة (تتعلق بنوع النظام المستخد) | <code>%Z</code>: اسم مختصر للمنطقة الزمنية أو معلومات مشابهة (تتعلق بنوع النظام المستخد) | ||
|- | |- | ||
!اليوم من الأسبوع | !اليوم من الأسبوع | ||
سطر 93: | سطر 91: | ||
<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) | ||
سطر 100: | سطر 98: | ||
|- | |- | ||
|الأسبوع الأول من السنة YYYY الذي يبدأ بالأحد أو الاثنين (وفقًا للرايات <code>%W</code> أو <code>%U</code>). أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع رقم 0. | |الأسبوع الأول من السنة YYYY الذي يبدأ بالأحد أو الاثنين (وفقًا للرايات <code>%W</code> أو <code>%U</code>). أيام السنة التي تسبق الأسبوع الأول ستُعد من الأسبوع رقم 0. | ||
<code>%U</code>: رقم الأسبوع من السنة، الأسبوع يبدأ يوم الأحد (00..53) | <code>%U</code>: رقم الأسبوع من السنة، الأسبوع يبدأ يوم الأحد (00..53) | ||
سطر 112: | سطر 109: | ||
|- | |- | ||
|<code>%n</code>: محرف السطر الجديد ("<code>\n</code>") | |<code>%n</code>: محرف السطر الجديد ("<code>\n</code>") | ||
<code>%t</code>: محرف التبويب ("<code>\t</code>"). | <code>%t</code>: محرف التبويب ("<code>\t</code>"). | ||
سطر 120: | سطر 116: | ||
|- | |- | ||
|<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>). | ||
سطر 136: | سطر 131: | ||
<code>%T</code>: الوقت بصيغة 24 ساعة (<code>%H:%M:%S</code>). | <code>%T</code>: الوقت بصيغة 24 ساعة (<code>%H:%M:%S</code>). | ||
|} | |}هذا التابع يشبه الدالة <code>strftime()</code> المعرفة في ISO C و POSIX. | ||
هذا التابع يشبه الدالة <code>strftime()</code> المعرفة في ISO C و POSIX. | |||
في حين أن جميع المُوجّهات مستقلة عن الإعدادات المحلية منذ روبي 1.9، فإن <code>Z%</code> يعتمد على نظام التشغيل. لذلك، قد تختلف النتيجة حتى لو تم استخدام نفس سلسلة التنسيق في أنظمة أخرى مثل لغة C. | في حين أن جميع المُوجّهات مستقلة عن الإعدادات المحلية منذ روبي 1.9، فإن <code>Z%</code> يعتمد على نظام التشغيل. لذلك، قد تختلف النتيجة حتى لو تم استخدام نفس سلسلة التنسيق في أنظمة أخرى مثل لغة C. | ||
سطر 153: | سطر 147: | ||
%G-W%V-%u => 2007-W47-1 تاريخ الأسبوع - موسع | %G-W%V-%u => 2007-W47-1 تاريخ الأسبوع - موسع | ||
%GW%V => 2007W47 تاريخ الاسبوع - دفة محدودة - شهر محدد | %GW%V => 2007W47 تاريخ الاسبوع - دفة محدودة - شهر محدد | ||
%G-W%V => 2007-W47 | %G-W%V => 2007-W47 تاريخ الاسبوع - دفة محدودة - اسبوع محدد (extended) | ||
%H%M%S => 083748 | %H%M%S => 083748 التوقيت المحلي - أساسي | ||
%T => 08:37:48 | %T => 08:37:48 التوقيت المحلي - موسع | ||
%H%M => 0837 | %H%M => 0837 التوقيت المحلي - دقة محدودة - دقيقة محددة -اساسي | ||
%H:%M => 08:37 | %H:%M => 08:37 التوقيت المحلي - دقة محدودة - دقيقة محددة -موسع | ||
%H => 08 | %H => 08 التوقيت المحلي - دقة محدودة - ساعة محددة | ||
%H%M%S,%L => 083748,000 | %H%M%S,%L => 083748,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - أساسي | ||
%T,%L => 08:37:48,000 | %T,%L => 08:37:48,000 التوقيت المحلي مع كسور عشرية مفصولة بفواصل - موسع | ||
%H%M%S.%L => 083748.000 | %H%M%S.%L => 083748.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - أساس | ||
%T.%L => 08:37:48.000 | %T.%L => 08:37:48.000 لتوقيت المحلي مع كسور عشرية، التوقف التام كإشارة للأعشار - موسع | ||
%H%M%S%z => 083748-0600 | %H%M%S%z => 083748-0600 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - أساس | ||
%T%:z => 08:37:48-06:00 | %T%:z => 08:37:48-06:00 التوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع | ||
%Y%m%dT%H%M%S%z => 20071119T083748-0600 | %Y%m%dT%H%M%S%z => 20071119T083748-0600 تاريخ ووقت اليوم من تاريخ الجدول الزمني - اساسي | ||
%FT%T%:z => 2007-11-19T08:37:48-06:00 | %FT%T%:z => 2007-11-19T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الجدول الزمني موسع | ||
%Y%jT%H%M%S%z => 2007323T083748-0600 | %Y%jT%H%M%S%z => 2007323T083748-0600 تاريخ ووقت اليوم من التاريخ العادي - اساسي | ||
%Y-%jT%T%:z => 2007-323T08:37:48-06:00 | %Y-%jT%T%:z => 2007-323T08:37:48-06:00 تاريخ ووقت اليوم من التاريخ العادي - موسع | ||
%GW%V%uT%H%M%S%z => 2007W471T083748-0600 | %GW%V%uT%H%M%S%z => 2007W471T083748-0600 تاريخ ووقت اليوم من تاريخ الأسبوع - أساسي | ||
%G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 | %G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 تاريخ ووقت اليوم من تاريخ الأسبوع - موسع | ||
%Y%m%dT%H%M => 20071119T0837 | %Y%m%dT%H%M => 20071119T0837 تاريخ الحدول الزمني والتوقيت المحلي - أساسي | ||
%FT%R => 2007-11-19T08:37 | %FT%R => 2007-11-19T08:37 تاريخ الحدول الزمني والتوقيت المحلي - موسع | ||
%Y%jT%H%MZ => 2007323T0837Z | %Y%jT%H%MZ => 2007323T0837Z التاريخ العادي والتوقيت العالمي الموحد- اساسي | ||
%Y-%jT%RZ => 2007-323T08:37Z | %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 | %G-W%V-%uT%R%:z => 2007-W47-1T08:37-06:00 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع</syntaxhighlight> | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">strftime( string ) → string</syntaxhighlight> | <syntaxhighlight lang="ruby">strftime( string ) → string</syntaxhighlight> |
مراجعة 19:11، 7 نوفمبر 2018
يُنسق التابع strftime
التوقيت وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة.
تبدأ المُوجّهات بعلامة النسبة المئوية (%
). سيتم تمرير أي نص لم يتم وضعه على هيئة موجهات إلى السلسلة النصية المُخرجة.
يتكون الموجه من علامة النسبة المئوية (%
)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومعدل اختياري، ومُحَوِّل (conversion specifier) كما يلي:
%<flags><width><modifier><conversion>
الرايات:
-
: عدم تطويل (pad) المخرجات العددية_
استخدام المسافات البيضاء للتطويل0
:استخدام الاصفار للتطويل^
: حول السلسلة النصية المُخرجة إلى حروف كبيرة.#
: غير حالة الأحرف:
استخدم النقطتين لأجل %z:
يحدد حقل الحد الأدنى قيمة الحد الأدنى للعرض.
المعدلات هي "E
" و "O
". وسيتم تجاهلها.
مُوجّهات التنسيق:
التاريخ (السنة - الشهر - اليوم) |
---|
%Y : السنة مع القرن (في حال توفيره)، سيطول النتيجة بأربعة منازل على الاقل. مثلا: -0001 , 0000 , 1995 , 2009 , 14292 %C : السنة\ 100، مع تقريبها إلى الأسفل، مثل تحويل 2009 إلى 20.
|
الوقت (الساعات - الدقائق - الثواني - كسور الثواني) |
%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 تاريخ الأسبوع والتوقيت المحلي والفارق مع التوقيت العالمي الموحد - موسع
البنية العامة
strftime( string ) → string
المعاملات
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
: يستخلص التابعsec
من التوقيت رقم الثانية في الدقيقة (0..60) لـtime
. - التابع
subsec
: يُعيد التابعsubsec
الجزء العشري من التوقيت لـtime
.