الفرق بين المراجعتين لصفحة: «Ruby/Time/strftime»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 72: | سطر 72: | ||
يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. | ||
|- | |- | ||
!المنطقة الزمنية | |||
|- | |- | ||
| | |<code>%z</code>: المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثلا +0900) | ||
* <code>%:z</code>: فرق الساعات والدقائق مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00) | |||
* <code>%::z</code>: فرق الساعات والدقائق والثواني مع التوقيت الزمني الموحد مع إضافة نقطتين رأسيتين (مثلا +09:00:00) | |||
<code>%Z</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>%u</code>: رقم اليوم من الأسبوع (الاثنين هو اليوم 1 من 1..7) | |||
<code>%w</code>: رقم اليوم من الأسبوع (الأحد هو اليوم 0 من 0..6) | |||
|} | |} | ||
هذا التابع يشبه الدالة strftime () المحددة في ISO C و POSIX. | هذا التابع يشبه الدالة strftime () المحددة في ISO C و POSIX. |
مراجعة 15:43، 7 نوفمبر 2018
يُنسق التابع strftime
التوقيت وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة.
تبدأ المُوجّهات بعلامة النسبة المئوية (%
). سيتم تمرير أي نص لم يتم وضعه على هيئة موجهات إلى السلسلة النصية المُخرجة.
يتكون الموجه من علامة النسبة المئوية (%
)، وراية واحدة أو أكثر، وحقل اختياري يمثل الحد الأدنى للعرض، ومعدل اختياري، ومُحَوِّل (conversion specifier) كما يلي:
%<flags><width><modifier><conversion>
الرايات:
-
: عدم تطويل (pad) المخرجات العددية_
استخدام المسافات البيضاء للتطويل0
:استخدام الاصفار للتطويل^
: حول السلسلة النصية المُخرجة إلى حروف كبيرة.#
: غير حالة الأحرف:
استخدم النقطتين لأجل %z:
يحدد حقل الحد الأدنى قيمة الحد الأدنى للعرض.
المعدلات هي "E
" و "O
". وسيتم تجاهلها.
مُوجّهات التنسيق:
التاريخ (السنة - الشهر - اليوم) |
---|
%Y : السنة مع القرن (في حال توفيره)، سيطول النتيجة بأربعة منازل على الاقل. مثلا: -0001 , 0000 , 1995 , 2009 , 14292
|
الوقت (الساعات - الدقائق - الثواني - كسور الثواني) |
%H : رقم الساعة في اليوم، في نظام 24 ساعة، مع تطويله بالأصفار (00..23).
يتم اقتطاع المنازل العشرية حتى تتلاءم مع التنسيق المراد. |
المنطقة الزمنية |
%z : المنطقة الزمنية على هيئة الفرق في الساعات والدقائق مع التوقيت الزمني الموحد (مثلا +0900)
|
اليوم من الأسبوع |
%A : الاسم الكامل لليوم ("Sunday ")، الخيار %^A يجعله بأحرف كبيرة ("SUNDAY ").
|
هذا التابع يشبه الدالة 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 Calendar date (basic)
%F => 2007-11-19 Calendar date (extended)
%Y-%m => 2007-11 Calendar date, reduced accuracy, specific month
%Y => 2007 Calendar date, reduced accuracy, specific year
%C => 20 Calendar date, reduced accuracy, specific century
%Y%j => 2007323 Ordinal date (basic)
%Y-%j => 2007-323 Ordinal date (extended)
%GW%V%u => 2007W471 Week date (basic)
%G-W%V-%u => 2007-W47-1 Week date (extended)
%GW%V => 2007W47 Week date, reduced accuracy, specific week (basic)
%G-W%V => 2007-W47 Week date, reduced accuracy, specific week (extended)
%H%M%S => 083748 Local time (basic)
%T => 08:37:48 Local time (extended)
%H%M => 0837 Local time, reduced accuracy, specific minute (basic)
%H:%M => 08:37 Local time, reduced accuracy, specific minute (extended)
%H => 08 Local time, reduced accuracy, specific hour
%H%M%S,%L => 083748,000 Local time with decimal fraction, comma as decimal sign (basic)
%T,%L => 08:37:48,000 Local time with decimal fraction, comma as decimal sign (extended)
%H%M%S.%L => 083748.000 Local time with decimal fraction, full stop as decimal sign (basic)
%T.%L => 08:37:48.000 Local time with decimal fraction, full stop as decimal sign (extended)
%H%M%S%z => 083748-0600 Local time and the difference from UTC (basic)
%T%:z => 08:37:48-06:00 Local time and the difference from UTC (extended)
%Y%m%dT%H%M%S%z => 20071119T083748-0600 Date and time of day for calendar date (basic)
%FT%T%:z => 2007-11-19T08:37:48-06:00 Date and time of day for calendar date (extended)
%Y%jT%H%M%S%z => 2007323T083748-0600 Date and time of day for ordinal date (basic)
%Y-%jT%T%:z => 2007-323T08:37:48-06:00 Date and time of day for ordinal date (extended)
%GW%V%uT%H%M%S%z => 2007W471T083748-0600 Date and time of day for week date (basic)
%G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 Date and time of day for week date (extended)
%Y%m%dT%H%M => 20071119T0837 Calendar date and local time (basic)
%FT%R => 2007-11-19T08:37 Calendar date and local time (extended)
%Y%jT%H%MZ => 2007323T0837Z Ordinal date and UTC of day (basic)
%Y-%jT%RZ => 2007-323T08:37Z Ordinal date and UTC of day (extended)
%GW%V%uT%H%M%z => 2007W471T0837-0600 Week date and local time and difference from UTC (basic)
%G-W%V-%uT%R%:z => 2007-W47-1T08:37-06:00 Week date and local time and difference from UTC (extended)
البنية العامة
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
.