الفرق بين المراجعتين لصفحة: «Ruby/Time»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Time</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Timeالصنف <code>Time</code>...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Time</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Time</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Time]]الصنف <code>Time</code> هو تجريد لمفهومي التاريخ والوقت. يتم تخزين <code>Time</code> داخليا كعدد الثواني (مع | [[تصنيف: Ruby Time]] | ||
الصنف <code>Time</code> هو تجريد لمفهومي التاريخ والوقت. يتم تخزين <code>Time</code> داخليا كعدد الثواني (مع كسورها) منذ [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 حقبة يونيكس] (1 يناير 1970 00:00 بالتوقيت العالمي). انظر أيضا الوحدة <code>[[Ruby/Date|Date]]</code> لمزيد من المعلومات. | |||
1 يناير 1970 00:00 بالتوقيت العالمي. انظر أيضا الوحدة Date. | |||
يعامِل الصنف<code>Time</code> توقيت جرينتش (GMT) و التوقيت العالمي الموحد (UTC) على أنهما متكافئان. توقيت جرينتش هو الطريقة الأقدم للإشارة إلى هذه الأوقات المرجعية، ولا تزال موجودة في أسماء الاستدعاءات على أنظمة POSIX. | |||
يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا الأمر عند مقارنة الأوقات مع بعضها البعض - فالأوقات التي تبدو متساوية عند عرضها، قد تكون مختلفة عند المقارنة. | يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا الأمر عند مقارنة الأوقات مع بعضها البعض - فالأوقات التي تبدو متساوية عند عرضها، قد تكون مختلفة عند المقارنة. | ||
منذ روبي 1.9.2، يستخدم | منذ روبي 1.9.2، يستخدم <code>Time</code> عددا صحيحا من النوع signed 63 bit أو <code>Bignum</code> أو <code>[[Ruby/Rational|Rational]]</code>. العدد الصحيح يمثل عدد النانوثواني منذ [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 حقبة يونيكس]، والتي يمكن أن تمثل 1823-11-12 كـ 2116-02-20. عند استخدام <code>Bignum</code> أو <code>[[Ruby/Rational|Rational]]</code> (قبل 1823، وبعد 2116، بالنانوثانية) ، يعمل الصنف <code>Time</code> بشكل أبطأ مقارنة بالوضع عند استخدام الأعداد الصحيحة. | ||
والتي يمكن أن تمثل 1823-11-12 | |||
== الأمثلة == | |||
كل الأمثلة الموجودة في صفحات التوابع تعمل باستخدام المنطقة الزمنية EST بتوقيت جرينتش -5. | |||
== إنشاء توقيت جديد == | |||
يمكنك إنشاء توقيت جديد (نسخة من <code>Time</code>) عبر التابع <code>[[Ruby/Time/new|new]]</code>. حيث سيستخدم الوقت الحالي في النظام. <code>[[Ruby/Time/now|now]]</code> هو مرادف للمتغير <code>this</code>. يمكنك أيضًا تمرير أجزاء من الوقت إلى <code>[[Ruby/Time/new|new]]</code>، مثل السنة والشهر والدقيقة وما إلى ذلك. عندما تريد إنشاء توقيت بهذا التابع، فيجب أن تمرر السنة على الأقل. إذا مررت السنة وحدها، فسيتم تعيين الوقت الافتراضي لبقية القيم عند فاتح يناير/كانون الثاني من ذلك العام على الساعة 00:00:00 بتوقيت المنطقة الزمنية الحالية للنظام. | |||
إليك بعض الأمثلة:<syntaxhighlight lang="ruby">Time.new(2002) #=> 2002-01-01 00:00:00 -0500 | |||
<syntaxhighlight lang="ruby">Time.new(2002) #=> 2002-01-01 00:00:00 -0500 | |||
Time.new(2002, 10) #=> 2002-10-01 00:00:00 -0500 | Time.new(2002, 10) #=> 2002-10-01 00:00:00 -0500 | ||
Time.new(2002, 10, 31) #=> 2002-10-31 00:00:00 -0500 | Time.new(2002, 10, 31) #=> 2002-10-31 00:00:00 -0500 | ||
Time.new(2002, 10, 31, 2, 2, 2, "+02:00") #=> 2002-10-31 02:02:02 +0200</syntaxhighlight> | Time.new(2002, 10, 31, 2, 2, 2, "+02:00") #=> 2002-10-31 02:02:02 +0200</syntaxhighlight>يمكنك أيضًا استخدام التوابع <code>[[Ruby/Time/gm|gm]]</code> و <code>[[Ruby/Time/local|local]]</code> و <code>[[Ruby/Time/utc|utc]]</code> لاعتماد المناطق الزمنية لغرينتش أو التوقيت المحلي أو التوقيت العالمي بدلاً من استخدام إعدادات النظام الحالي. | ||
يمكنك أيضًا استخدام gm و local و <code>[[Ruby/Time/utc|utc]]</code> لاعتماد المناطق الزمنية | |||
يمكنك أيضًا إنشاء توقيت جديد باستخدام <code>[[Ruby/Time/at| | يمكنك أيضًا إنشاء توقيت جديد باستخدام <code>[[Ruby/Time/at|at]]</code>، والذي يأخذ عدد الثواني (أو أعشار الثواني) منذ [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 حقبة يونيكس].<syntaxhighlight lang="ruby">Time.at(628232400) #=> 1989-11-28 00:00:00 -0500</syntaxhighlight> | ||
<syntaxhighlight lang="ruby">Time.at(628232400) #=> 1989-11-28 00:00:00 -0500</syntaxhighlight | |||
بمجرد أن | == العمل مع التوقيتات == | ||
<syntaxhighlight lang="ruby">t = Time.new(1993, 02, 24, 12, 0, 0, "+09:00")</syntaxhighlight> | بمجرد أن تُنشئ توقيتًا (نسخة من <code>Time</code>)، فهناك العديد من الأشياء التي يمكنك القيام بها. فيما يلي بعض الأمثلة. | ||
هل t يتوافق مع يوم الاثنين؟ | |||
<syntaxhighlight lang="ruby">t.monday? #=> false</syntaxhighlight> | في جميع الأمثلة التالية، سنفترض أنك قمت بما يلي:<syntaxhighlight lang="ruby">t = Time.new(1993, 02, 24, 12, 0, 0, "+09:00")</syntaxhighlight>هل <code>t</code> يتوافق مع يوم الاثنين؟<syntaxhighlight lang="ruby">t.monday? #=> false</syntaxhighlight>أي عام هو هذا؟<syntaxhighlight lang="ruby">t.year #=> 1993</syntaxhighlight>هل <code>t</code> توقيت صيفي؟<syntaxhighlight lang="ruby">t.dst? #=> false</syntaxhighlight>ما هو اليوم الذي يوافق عاما بعد <code>t</code>؟<syntaxhighlight lang="ruby">t + (60*60*24*365) #=> 1994-02-24 12:00:00 +0900</syntaxhighlight>كم عدد الثواني منذ [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>t</code>؟<syntaxhighlight lang="ruby">t.to_i #=> 730522800</syntaxhighlight>يمكنك أيضا القيام بالعمليات والوظائف العادية، مثل مقارنة توقيتين.<syntaxhighlight lang="ruby">t1 = Time.new(2010) | ||
أي عام هو هذا؟ | |||
<syntaxhighlight lang="ruby">t.year #=> 1993</syntaxhighlight> | |||
<syntaxhighlight lang="ruby">t.dst? #=> false</syntaxhighlight> | |||
ما هو اليوم بعد | |||
<syntaxhighlight lang="ruby">t + (60*60*24*365) #=> 1994-02-24 12:00:00 +0900</syntaxhighlight> | |||
كم عدد الثواني منذ [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 حقبة يونيكس] وحتى | |||
<syntaxhighlight lang="ruby">t.to_i #=> 730522800</syntaxhighlight> | |||
يمكنك أيضا القيام بالعمليات والوظائف العادية، مثل مقارنة توقيتين. | |||
<syntaxhighlight lang="ruby">t1 = Time.new(2010) | |||
t2 = Time.new(2011) | t2 = Time.new(2011) | ||
t1 == t2 #=> false | t1 == t2 #=> false | ||
سطر 52: | سطر 34: | ||
Time.new(2010,10,31).between?(t1, t2) #=> true</syntaxhighlight> | Time.new(2010,10,31).between?(t1, t2) #=> true</syntaxhighlight> | ||
==توابع الصنف العامة (Public Class Methods)== | ==توابع الصنف العامة (Public Class Methods)== | ||
===[[Ruby/Time/at | التابع at]]=== | ===[[Ruby/Time/at| التابع at]]=== | ||
ينشئ التابع <code>at</code> [[Ruby/Time|توقيت]]ا جديدًا | ينشئ التابع <code>at</code> [[Ruby/Time|توقيت]]ا جديدًا. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/gm| التابع gm]]=== | ||
ينشئ التابع <code>gm</code> [[Ruby/Time|توقيت]]ا استنادًا إلى القيم المعطاة، | |||
===[[Ruby/Time/ | ===[[Ruby/Time/local| التابع local]]=== | ||
التابع <code>local</code> مشابه لـ <code>[[Ruby/Time/gm|gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/mktime| التابع mktime]]=== | ||
التابع <code> | التابع <code>mktime</code> مشابه لـ <code>[[Ruby/Time/gm|gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/new| التابع new]]=== | ||
يعيد التابع <code>new</code> [[Ruby/Time|توقيت]]ا جديدا. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/now| التابع now]]=== | ||
يُنشئ التابع <code>now</code> [[Ruby/Time|توقيت]]ا جديدا للوقت الحالي. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/utc| التابع utc]]=== | ||
ينشئ التابع <code>utc</code> [[Ruby/Time|توقيت]]ا استنادًا إلى القيم المعطاة، | |||
== توابع النسخة العامة (Public Instance Methods) == | |||
===[[Ruby/Time/ | |||
===[[Ruby/Time/plus operator| التابع +]]=== | |||
===[[Ruby/Time/ | معامل الإضافة - يضيف بعض الثواني (ربما كسرية) إلى [[Ruby/Time|التوقيت]] | ||
===[[Ruby/Time/minus operator| التابع -]]=== | |||
معامل الفرق - يُعيد فرق الثواني على شكل عدد عشري <code>[[Ruby/Float|Float]]</code> | |||
يُعيد التابع <code> | ===[[Ruby/Time/compar operator| التابع <=>]]=== | ||
===[[Ruby/Time/ | معامل الموازنة - يقارن توقيتين | ||
===[[Ruby/Time/asctime| التابع asctime]]=== | |||
يُعيد التابع <code>asctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]]. | |||
===[[Ruby/Time/ctime| التابع ctime]]=== | |||
يُعيد التابع <code>ctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]]. | |||
===[[Ruby/Time/day| التابع day]]=== | |||
يستخلص التابع <code>day</code> رقم اليوم من الشهر. | |||
===[[Ruby/Time/dst-3F| التابع dst?]]=== | |||
يُعيد التابع <code>dst?</code> القيمة <code>true</code> إن وقع <code>time</code> أثناء التوقيت الصيفي | |||
===[[Ruby/Time/eql-3F| التابع eql?]]=== | |||
يتحقق من تساوي توقيتين. | |||
===[[Ruby/Time/friday-3F| التابع friday?]]=== | |||
يُعيد التابع <code>friday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الجمعة. | |||
===[[Ruby/Time/getgm| التابع getgm]]=== | |||
يُعيد التابع <code>getgm</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه بالتوقيت العالمي الموحد (UTC). | |||
===[[Ruby/Time/getlocal| التابع getlocal]]=== | |||
يُعيد التابع <code>getlocal</code> [[Ruby/Time|توقيت]]ا جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه بالتوقيت المحلي | |||
===[[Ruby/Time/getutc| التابع getutc]]=== | |||
يُعيد التابع <code>getutc</code> [[Ruby/Time|توقيت]]ا جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه بالتوقيت العالمي الموحد (UTC). | |||
===[[Ruby/Time/gmt-3F| التابع gmt?]]=== | |||
يُعيد التابع <code>gmt?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] ضمن نطاق التوقيت العالمي الموحد (UTC). | |||
===[[Ruby/Time/gmt offset| التابع gmt_offset]]=== | |||
===[[Ruby/Time/gmtoff | التابع gmtoff]]=== | يُعيد التابع <code>gmt_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] والتوقيت العالمي الموحد UTC. | ||
يُعيد التابع <code>gmtoff</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] | ===[[Ruby/Time/gmtime| التابع gmtime]]=== | ||
===[[Ruby/Time/hash | التابع hash]]=== | يحول التابع <code>gmtime</code> [[Ruby/Time|التوقيت]] إلى التوقيت العالمي الموحد | ||
يُعيدرمز تجزئة (hash code) لل[[Ruby/Time|توقيت]] | ===[[Ruby/Time/gmtoff| التابع gmtoff]]=== | ||
===[[Ruby/Time/hour | التابع hour]]=== | يُعيد التابع <code>gmtoff</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] و التوقيت العالمي الموحد (UTC). | ||
يُستخلص التابع <code>hour</code> من [[Ruby/Time|التوقيت]] رقم الساعة من اليوم | ===[[Ruby/Time/hash| التابع hash]]=== | ||
===[[Ruby/Time/inspect | التابع inspect]]=== | يُعيدرمز تجزئة (hash code) لل[[Ruby/Time|توقيت]]. | ||
يُعيد التابع <code>inspect</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]] | ===[[Ruby/Time/hour| التابع hour]]=== | ||
===[[Ruby/Time/isdst | التابع isdst]]=== | يُستخلص التابع <code>hour</code> من [[Ruby/Time|التوقيت]] رقم الساعة من اليوم | ||
يُعيد التابع <code>isdst</code> القيمة <code>true</code> إن وقع [[Ruby/Time|التوقيت]] | ===[[Ruby/Time/inspect| التابع inspect]]=== | ||
===[[Ruby/Time/localtime | التابع localtime]]=== | يُعيد التابع <code>inspect</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]]. | ||
يحول التابع <code>localtime</code> [[Ruby/Time|التوقيت]] | ===[[Ruby/Time/isdst| التابع isdst]]=== | ||
===[[Ruby/Time/mday | التابع mday]]=== | يُعيد التابع <code>isdst</code> القيمة <code>true</code> إن وقع [[Ruby/Time|التوقيت]] أثناء التوقيت الصيفي | ||
يستخلص التابع <code>mday</code> من [[Ruby/Time|التوقيت]] رقم اليوم من الشهر | ===[[Ruby/Time/localtime| التابع localtime]]=== | ||
===[[Ruby/Time/min | التابع min]]=== | يحول التابع <code>localtime</code> [[Ruby/Time|التوقيت]] إلى التوقيت المحلي | ||
يستخلص التابع <code>min</code> من [[Ruby/Time|التوقيت]] رقم الدقيقة من الساعة | ===[[Ruby/Time/mday| التابع mday]]=== | ||
===[[Ruby/Time/mon | التابع mon]]=== | يستخلص التابع <code>mday</code> من [[Ruby/Time|التوقيت]] رقم اليوم من الشهر | ||
يستخلص التابع <code>mon</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة | ===[[Ruby/Time/min| التابع min]]=== | ||
===[[Ruby/Time/monday-3F | التابع monday?]]=== | يستخلص التابع <code>min</code> من [[Ruby/Time|التوقيت]] رقم الدقيقة من الساعة | ||
===[[Ruby/Time/mon| التابع mon]]=== | |||
يستخلص التابع <code>mon</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة | |||
===[[Ruby/Time/monday-3F| التابع monday?]]=== | |||
يُعيد التابع <code>monday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الاثنين. | يُعيد التابع <code>monday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الاثنين. | ||
===[[Ruby/Time/month | التابع month]]=== | ===[[Ruby/Time/month| التابع month]]=== | ||
يستخلص التابع <code>month</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة | يستخلص التابع <code>month</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة | ||
===[[Ruby/Time/nsec | التابع nsec]]=== | ===[[Ruby/Time/nsec| التابع nsec]]=== | ||
يُعيد التابع <code>nsec</code> عدد النانوثواني المقابل لل[[Ruby/Time|توقيت]] | يُعيد التابع <code>nsec</code> عدد النانوثواني المقابل لل[[Ruby/Time|توقيت]]. | ||
===[[Ruby/Time/round | التابع round]]=== | ===[[Ruby/Time/round| التابع round]]=== | ||
يُقرّب التابع <code>round</code> الثواني | يُقرّب التابع <code>round</code> الثواني الكسرية وفق دقة معينة. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/saturday-3F| التابع saturday?]]=== | ||
يُعيد التابع <code>saturday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم السبت. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/sec| التابع sec]]=== | ||
يستخلص التابع <code>sec</code> من [[Ruby/Time|التوقيت]] رقم الثانية في الدقيقة | |||
===[[Ruby/Time/ | ===[[Ruby/Time/strftime| التابع strftime]]=== | ||
يُنسق التابع <code>strftime</code> [[Ruby/Time|التوقيت]] وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة. | |||
===[[Ruby/Time/subsec| التابع subsec]]=== | |||
يُعيد التابع <code> | يُعيد التابع <code>subsec</code> الجزء العشري من [[Ruby/Time|التوقيت]]. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/succ| التابع succ]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>succ</code> [[Ruby/Time|توقيت]]ا جديدًا، مع إضافة ثانية واحدة على [[Ruby/Time|التوقيت]] الذي استُدعي معه | ||
===[[Ruby/Time/ | ===[[Ruby/Time/sunday-3F| التابع sunday?]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>sunday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الأحد. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/thursday-3F| التابع thursday?]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>thursday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الخميس. | ||
===[[Ruby/Time/to a| التابع to_a]]=== | |||
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] عشارية تضم قيم [[Ruby/Time|التوقيت]] | |||
===[[Ruby/Time/to f| التابع to_f]]=== | |||
يُعيد التابع <code>to_f</code> قيمة <nowiki/>[[Ruby/Time|التوقيت]] كعدد عشري يمثل عدد الثواني التي مرت منذ [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 حقبة يونيكس]. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/to i| التابع to_i]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>to_i</code> قيمة <nowiki/>[[Ruby/Time|التوقيت]] كعدد صحيح يمثل عدد الثواني التي مرت منذ [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 حقبة يونيكس]. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/to r| التابع to_r]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>to_r</code> قيمة <nowiki/>[[Ruby/Time|التوقيت]] <nowiki/>[[Ruby/Rational|كعدد جذري]] يمثل عدد الثواني التي مرت منذ [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 حقبة يونيكس]. | ||
===[[Ruby/Time/ | ===[[Ruby/Time/to s| التابع to_s]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>to_s</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]] | ||
===[[Ruby/Time/tuesday-3F| التابع tuesday?]]=== | |||
يُعيد التابع <code> | يُعيد التابع <code>tuesday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الثلاثاء. | ||
===[[Ruby/Time/tv nsec| التابع tv_nsec]]=== | |||
يُعيد التابع <code>tv_nsec</code> عدد النانوثواني المقابلة <nowiki/>[[Ruby/Time|للتوقيت]] التي مرت منذ [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 حقبة يونيكس]. | |||
===[[Ruby/Time/tv sec| التابع tv_sec]]=== | |||
يُعيد التابع <code>tv_sec</code> القيمة المقابلة <nowiki/>[[Ruby/Time|للتوقيت]] التي تمثل عدد الثواني التي مرت منذ [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 حقبة يونيكس]. | |||
===[[Ruby/Time/ | ===[[Ruby/Time/tv usec| التابع tv_usec]]=== | ||
يُعيد التابع <code> | يُعيد التابع <code>tv_usec</code> المقابلة <nowiki/>[[Ruby/Time|للتوقيت]] التي تمثل عدد الميكروثواني التي مرت منذ [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 حقبة يونيكس]. | ||
===[[Ruby/Time/usec| التابع usec]]=== | |||
يُعيد التابع <code>usec</code> القيمة المقابلة <nowiki/>[[Ruby/Time|للتوقيت]] التي تمثل عدد الميكروثواني التي مرت منذ [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 حقبة يونيكس]. | |||
===[[Ruby/Time/utc | التابع utc]]=== | ===[[Ruby/Time/utc| التابع utc]]=== | ||
< | ينشئ التابع <code>utc</code> <nowiki/>[[Ruby/Time|توقيتا]] جديدا استنادًا إلى القيم المعطاة، ويتم تفسيره وفق التوقيت العالمي الموحد UTC (GMT). | ||
===[[Ruby/Time/utc-3F | التابع utc?]]=== | ===[[Ruby/Time/utc-3F| التابع utc?]]=== | ||
يُعيد التابع <code>utc?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] | يُعيد التابع <code>utc?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] ضمن نطاق التوقيت العالمي الموحد | ||
===[[Ruby/Time/ | ===[[Ruby/Time/utc offset| التابع utc_offset]]=== | ||
يُعيد التابع <code>utc_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] | يُعيد التابع <code>utc_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] والتوقيت العالمي الموحد UTC. | ||
===[[Ruby/Time/wday | التابع wday]]=== | ===[[Ruby/Time/wday| التابع wday]]=== | ||
يُعيد التابع <code>wday</code> عددا صحيحا يمثل | يُعيد التابع <code>wday</code> عددا صحيحا يمثل رقم اليوم في الأسبوع | ||
===[[Ruby/Time/wednesday-3F | التابع wednesday?]]=== | ===[[Ruby/Time/wednesday-3F| التابع wednesday?]]=== | ||
يُعيد التابع <code>wednesday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] | يُعيد التابع <code>wednesday?</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الأربعاء. | ||
===[[Ruby/Time/yday | التابع yday]]=== | ===[[Ruby/Time/yday| التابع yday]]=== | ||
يُعيد التابع <code>yday</code> عددا صحيحا يمثل | يُعيد التابع <code>yday</code> عددا صحيحا يمثل رقم اليوم في السنة ، 1..366. | ||
===[[Ruby/Time/year | التابع year] | ===[[Ruby/Time/year| التابع year]]=== | ||
يستخلص التابع <code>year</code> من [[Ruby/Time|التوقيت]] الذي استُدعي معه قيمة السنة (بما في ذلك القرن). | |||
===[[Ruby/Time/zone | التابع zone]]=== | ===[[Ruby/Time/zone| التابع zone]]=== | ||
يعيد التابع <code>zone</code> اسم المنطقة الزمنية المستخدمة في [[Ruby/Time|التوقيت]] | يعيد التابع <code>zone</code> اسم المنطقة الزمنية المستخدمة في [[Ruby/Time|التوقيت]]. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Time.html قسم الصنف Time في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Time.html قسم الصنف Time في توثيق روبي الرسمي.] |
مراجعة 20:12، 7 نوفمبر 2018
الصنف Time
هو تجريد لمفهومي التاريخ والوقت. يتم تخزين Time
داخليا كعدد الثواني (مع كسورها) منذ حقبة يونيكس (1 يناير 1970 00:00 بالتوقيت العالمي). انظر أيضا الوحدة Date
لمزيد من المعلومات.
يعامِل الصنفTime
توقيت جرينتش (GMT) و التوقيت العالمي الموحد (UTC) على أنهما متكافئان. توقيت جرينتش هو الطريقة الأقدم للإشارة إلى هذه الأوقات المرجعية، ولا تزال موجودة في أسماء الاستدعاءات على أنظمة POSIX.
يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا الأمر عند مقارنة الأوقات مع بعضها البعض - فالأوقات التي تبدو متساوية عند عرضها، قد تكون مختلفة عند المقارنة.
منذ روبي 1.9.2، يستخدم Time
عددا صحيحا من النوع signed 63 bit أو Bignum
أو Rational
. العدد الصحيح يمثل عدد النانوثواني منذ حقبة يونيكس، والتي يمكن أن تمثل 1823-11-12 كـ 2116-02-20. عند استخدام Bignum
أو Rational
(قبل 1823، وبعد 2116، بالنانوثانية) ، يعمل الصنف Time
بشكل أبطأ مقارنة بالوضع عند استخدام الأعداد الصحيحة.
الأمثلة
كل الأمثلة الموجودة في صفحات التوابع تعمل باستخدام المنطقة الزمنية EST بتوقيت جرينتش -5.
إنشاء توقيت جديد
يمكنك إنشاء توقيت جديد (نسخة من Time
) عبر التابع new
. حيث سيستخدم الوقت الحالي في النظام. now
هو مرادف للمتغير this
. يمكنك أيضًا تمرير أجزاء من الوقت إلى new
، مثل السنة والشهر والدقيقة وما إلى ذلك. عندما تريد إنشاء توقيت بهذا التابع، فيجب أن تمرر السنة على الأقل. إذا مررت السنة وحدها، فسيتم تعيين الوقت الافتراضي لبقية القيم عند فاتح يناير/كانون الثاني من ذلك العام على الساعة 00:00:00 بتوقيت المنطقة الزمنية الحالية للنظام.
إليك بعض الأمثلة:
Time.new(2002) #=> 2002-01-01 00:00:00 -0500
Time.new(2002, 10) #=> 2002-10-01 00:00:00 -0500
Time.new(2002, 10, 31) #=> 2002-10-31 00:00:00 -0500
Time.new(2002, 10, 31, 2, 2, 2, "+02:00") #=> 2002-10-31 02:02:02 +0200
يمكنك أيضًا استخدام التوابع gm
و local
و utc
لاعتماد المناطق الزمنية لغرينتش أو التوقيت المحلي أو التوقيت العالمي بدلاً من استخدام إعدادات النظام الحالي.
يمكنك أيضًا إنشاء توقيت جديد باستخدام at
، والذي يأخذ عدد الثواني (أو أعشار الثواني) منذ حقبة يونيكس.
Time.at(628232400) #=> 1989-11-28 00:00:00 -0500
العمل مع التوقيتات
بمجرد أن تُنشئ توقيتًا (نسخة من Time
)، فهناك العديد من الأشياء التي يمكنك القيام بها. فيما يلي بعض الأمثلة.
في جميع الأمثلة التالية، سنفترض أنك قمت بما يلي:
t = Time.new(1993, 02, 24, 12, 0, 0, "+09:00")
هل t
يتوافق مع يوم الاثنين؟
t.monday? #=> false
أي عام هو هذا؟
t.year #=> 1993
هل t
توقيت صيفي؟
t.dst? #=> false
ما هو اليوم الذي يوافق عاما بعد t
؟
t + (60*60*24*365) #=> 1994-02-24 12:00:00 +0900
كم عدد الثواني منذ حقبة يونيكس وحتى t
؟
t.to_i #=> 730522800
يمكنك أيضا القيام بالعمليات والوظائف العادية، مثل مقارنة توقيتين.
t1 = Time.new(2010)
t2 = Time.new(2011)
t1 == t2 #=> false
t1 == t1 #=> true
t1 < t2 #=> true
t1 > t2 #=> false
Time.new(2010,10,31).between?(t1, t2) #=> true
توابع الصنف العامة (Public Class Methods)
التابع at
ينشئ التابع at
توقيتا جديدًا.
التابع gm
ينشئ التابع gm
توقيتا استنادًا إلى القيم المعطاة،
التابع local
التابع local
مشابه لـ gm
، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية.
التابع mktime
التابع mktime
مشابه لـ gm
، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية.
التابع new
يعيد التابع new
توقيتا جديدا.
التابع now
يُنشئ التابع now
توقيتا جديدا للوقت الحالي.
التابع utc
ينشئ التابع utc
توقيتا استنادًا إلى القيم المعطاة،
توابع النسخة العامة (Public Instance Methods)
التابع +
معامل الإضافة - يضيف بعض الثواني (ربما كسرية) إلى التوقيت
التابع -
معامل الفرق - يُعيد فرق الثواني على شكل عدد عشري Float
التابع <=>
معامل الموازنة - يقارن توقيتين
التابع asctime
يُعيد التابع asctime
تمثيلا نصيا قانونيا للتوقيت.
التابع ctime
يُعيد التابع ctime
تمثيلا نصيا قانونيا للتوقيت.
التابع day
يستخلص التابع day
رقم اليوم من الشهر.
التابع dst?
يُعيد التابع dst?
القيمة true
إن وقع time
أثناء التوقيت الصيفي
التابع eql?
يتحقق من تساوي توقيتين.
التابع friday?
يُعيد التابع friday?
القيمة true
إن كان التوقيت يمثل يوم الجمعة.
التابع getgm
يُعيد التابع getgm
توقيتا Time
جديدا يمثل التوقيت الذي استُدعي معه بالتوقيت العالمي الموحد (UTC).
التابع getlocal
يُعيد التابع getlocal
توقيتا جديدا يمثل التوقيت الذي استُدعي معه بالتوقيت المحلي
التابع getutc
يُعيد التابع getutc
توقيتا جديدا يمثل التوقيت الذي استُدعي معه بالتوقيت العالمي الموحد (UTC).
التابع gmt?
يُعيد التابع gmt?
القيمة true
إن كان التوقيت ضمن نطاق التوقيت العالمي الموحد (UTC).
التابع gmt_offset
يُعيد التابع gmt_offset
فرق الثواني بين المنطقة الزمنية للتوقيت والتوقيت العالمي الموحد UTC.
التابع gmtime
يحول التابع gmtime
التوقيت إلى التوقيت العالمي الموحد
التابع gmtoff
يُعيد التابع gmtoff
فرق الثواني بين المنطقة الزمنية للتوقيت و التوقيت العالمي الموحد (UTC).
التابع hash
يُعيدرمز تجزئة (hash code) للتوقيت.
التابع hour
يُستخلص التابع hour
من التوقيت رقم الساعة من اليوم
التابع inspect
يُعيد التابع inspect
سلسلة نصية تمثل التوقيت.
التابع isdst
يُعيد التابع isdst
القيمة true
إن وقع التوقيت أثناء التوقيت الصيفي
التابع localtime
يحول التابع localtime
التوقيت إلى التوقيت المحلي
التابع mday
يستخلص التابع mday
من التوقيت رقم اليوم من الشهر
التابع min
يستخلص التابع min
من التوقيت رقم الدقيقة من الساعة
التابع mon
يستخلص التابع mon
من التوقيت رقم الشهر من السنة
التابع monday?
يُعيد التابع monday?
القيمة true
إن كان التوقيت time
يمثل يوم الاثنين.
التابع month
يستخلص التابع month
من التوقيت رقم الشهر من السنة
التابع nsec
يُعيد التابع nsec
عدد النانوثواني المقابل للتوقيت.
التابع round
يُقرّب التابع round
الثواني الكسرية وفق دقة معينة.
التابع saturday?
يُعيد التابع saturday?
القيمة true
إن كان التوقيت يمثل يوم السبت.
التابع sec
يستخلص التابع sec
من التوقيت رقم الثانية في الدقيقة
التابع strftime
يُنسق التابع strftime
التوقيت وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة.
التابع subsec
يُعيد التابع subsec
الجزء العشري من التوقيت.
التابع succ
يُعيد التابع succ
توقيتا جديدًا، مع إضافة ثانية واحدة على التوقيت الذي استُدعي معه
التابع sunday?
يُعيد التابع sunday?
القيمة true
إن كان التوقيت يمثل يوم الأحد.
التابع thursday?
يُعيد التابع thursday?
القيمة true
إن كان التوقيت يمثل يوم الخميس.
التابع to_a
يُعيد التابع to_a
مصفوفة عشارية تضم قيم التوقيت
التابع to_f
يُعيد التابع to_f
قيمة التوقيت كعدد عشري يمثل عدد الثواني التي مرت منذ حقبة يونيكس.
التابع to_i
يُعيد التابع to_i
قيمة التوقيت كعدد صحيح يمثل عدد الثواني التي مرت منذ حقبة يونيكس.
التابع to_r
يُعيد التابع to_r
قيمة التوقيت كعدد جذري يمثل عدد الثواني التي مرت منذ حقبة يونيكس.
التابع to_s
يُعيد التابع to_s
سلسلة نصية تمثل التوقيت
التابع tuesday?
يُعيد التابع tuesday?
القيمة true
إن كان التوقيت يمثل يوم الثلاثاء.
التابع tv_nsec
يُعيد التابع tv_nsec
عدد النانوثواني المقابلة للتوقيت التي مرت منذ حقبة يونيكس.
التابع tv_sec
يُعيد التابع tv_sec
القيمة المقابلة للتوقيت التي تمثل عدد الثواني التي مرت منذ حقبة يونيكس.
التابع tv_usec
يُعيد التابع tv_usec
المقابلة للتوقيت التي تمثل عدد الميكروثواني التي مرت منذ حقبة يونيكس.
التابع usec
يُعيد التابع usec
القيمة المقابلة للتوقيت التي تمثل عدد الميكروثواني التي مرت منذ حقبة يونيكس.
التابع utc
ينشئ التابع utc
توقيتا جديدا استنادًا إلى القيم المعطاة، ويتم تفسيره وفق التوقيت العالمي الموحد UTC (GMT).
التابع utc?
يُعيد التابع utc?
القيمة true
إن كان التوقيت ضمن نطاق التوقيت العالمي الموحد
التابع utc_offset
يُعيد التابع utc_offset
فرق الثواني بين المنطقة الزمنية للتوقيت والتوقيت العالمي الموحد UTC.
التابع wday
يُعيد التابع wday
عددا صحيحا يمثل رقم اليوم في الأسبوع
التابع wednesday?
يُعيد التابع wednesday?
القيمة true
إن كان التوقيت يمثل يوم الأربعاء.
التابع yday
يُعيد التابع yday
عددا صحيحا يمثل رقم اليوم في السنة ، 1..366.
التابع year
يستخلص التابع year
من التوقيت الذي استُدعي معه قيمة السنة (بما في ذلك القرن).
التابع zone
يعيد التابع zone
اسم المنطقة الزمنية المستخدمة في التوقيت.