الفرق بين المراجعتين ل"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) <code>Time</code> و التوقيت العالمي الموحد (UTC)(UTC <code>Time</code>) على أنه متكافئان. توقيت جرينتش هو الطريقة الأقدم للإشارة إلى هذه الأوقات المرجعية، ولكنها لا تزال موجودة في أسماء الاستدعاءات على أنظمة POSIX.
+
 
 +
يعامِل الصنف<code>Time</code> توقيت جرينتش (GMT) و التوقيت العالمي الموحد (UTC) على أنهما متكافئان. توقيت جرينتش هو الطريقة الأقدم للإشارة إلى هذه الأوقات المرجعية، ولا تزال موجودة في أسماء الاستدعاءات على أنظمة POSIX.
  
 
يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا الأمر عند مقارنة الأوقات مع بعضها البعض - فالأوقات التي تبدو متساوية عند عرضها، قد تكون مختلفة عند المقارنة.
 
يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا الأمر عند مقارنة الأوقات مع بعضها البعض - فالأوقات التي تبدو متساوية عند عرضها، قد تكون مختلفة عند المقارنة.
  
منذ روبي 1.9.2، يستخدم تطبيق ا<code>Time</code> عددا صحيحا من النوع signed 63 bit أو Bignum أو <code>[[Ruby/Rational|Rational]]</code>. العدد الصحيح يمثل عدد النانوثواني منذ  
+
منذ روبي 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 إلى 2116-02-20. عند استخدام Bignum أو <code>[[Ruby/Rational|Rational]]</code> (قبل 1823، وبعد 2116 ، بالنانوثانية) ، يعمل الصنف <code>Time</code> بشكل أبطأ مقارنة باستخدام عدد صحيح.
 
  
أمثلة:
+
== الأمثلة ==
<code>[[Ruby//class-Time-label-Examples|¶]]</code> <code>[[Ruby//top|↑]]</code>
+
كل الأمثلة الموجودة في صفحات التوابع تعمل باستخدام المنطقة الزمنية EST بتوقيت جرينتش -5.
  
تم تنفيذ كل الأمثلة الموجودة في صفحات التوابع باستخدام المنطقة الزمنية 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 بتوقيت المنطقة الزمنية الحالية للنظام.
  
إنشاء توقيت جديد <code>Time</code>
+
إليك بعض الأمثلة:<syntaxhighlight lang="ruby">Time.new(2002)        #=> 2002-01-01 00:00:00 -0500
<code>[[Ruby//class-Time-label-Creating+a+new+Time+instance|¶]]</code> <code>[[Ruby//top|↑]]</code>
 
 
 
يمكنك إنشاء توقيت جديد (نسخة من <code>Time</code>) عبر التابع <code>[[Ruby/Time/new|::new]]</code>. حيث سيستخدم الوقت الحالي في النظام. <code>[[Ruby/Time/now|::now]]</code> هو مرادف للمتغير this. يمكنك أيضًا تمرير أجزاء من الوقت إلى <code>[[Ruby/Time/new|::new]]</code>، مثل السنة والشهر والدقيقة وما إلى ذلك. عندما تريد إنشاء توقيت بهذا التابع، فيجب أن تمرر السنة على الأقل. إذا مررت السنة وحدها، فسيتم تعيين الوقت الافتراضي عند فاتح كانون الثاني/يناير من ذلك العام على الساعة 00:00:00 بتوقيت المنطقة الزمنية الحالية للنظام إليك بعض الأمثلة:
 
<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|::at]]</code>، والذي تأخذ عدد الثواني (أو أعشار الثواني) منذ <code>[[Ruby/Unix_time|Unix Epoch]]</code>.
+
يمكنك أيضًا إنشاء توقيت جديد باستخدام <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>
 
العمل مع التوقيتات (نسخ <code>Time</code>)
 
<code>[[Ruby//class-Time-label-Working+with+an+instance+of+Time|¶]]</code> <code>[[Ruby//top|↑]]</code>
 
  
بمجرد أن يكون لديك توقيت (نسخة من <code>Time</code>)، هناك العديد من الأشياء التي يمكنك القيام بها. فيما يلي بعض الأمثلة. في جميع الأمثلة التالية، سنفترض أنك قمت بما يلي:
+
== العمل مع التوقيتات ==
<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>  
 
kkهل t توقيت صيفي؟
 
<syntaxhighlight lang="ruby">t.dst? #=> false‎</syntaxhighlight>  
 
ما هو اليوم بعد عام من t؟
 
<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>[[Ruby/Time|Time]]</code> مع القيم المعطاة من قِبل <code>time</code> (انظر فقرة البنية العامة)، أو عدد الثواني <code>seconds_with_frac</code>، أو عدد الثواني <code>seconds</code> والكسور <code>microseconds_with_frac</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 حقبة يونيكس]. يمكن أن يكون الوسيطان <code>seconds_with_frac</code> و <code>microseconds_with_frac</code> من النوع <code>[[Ruby/Integer|Integer]]</code> أو <code>[[Ruby/Float|Float]]</code> أو <code>[[Ruby/Rational|Rational]]</code> أو غيرها من الأصناف العددية (<code>[[Ruby/Numeric|Numeric]]</code>). تتيح الميزة غير المحمولة أن يكون الموضع (offset) سالبًا في بعض الأنظمة.
+
ينشئ التابع <code>at</code> [[Ruby/Time|توقيت]]ا جديدًا.
===[[Ruby/Time/gm | التابع gm]]===
+
===[[Ruby/Time/gm| التابع gm]]===
ينشئ التابع <code>gm</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> استنادًا إلى القيم المعطاة، ويتم تفسيرها على أنها UTC (GMT). يجب تحديد السنة. القيم الأخرى تساوي افتراضيا الحد الأدنى لقيمة هذا الحقل (وقد تكون <code>nil</code> أو قد تُحذف). يمكن تحديد الشهر بعدد من 1 إلى 12، أو بأسماء الشهور الإنجليزية المكونة من ثلاثة أحرف. يتم تحديد الساعات من المجال (0..23). سيُطلق استثناء <code>[[Ruby/ArgumentError|ArgumentError]]</code> إذا كانت أي من تلك القيم خارج النطاق. سيقبل التابع أيضًا عشر وسائط في الطلب المُخرج من <code>[[Ruby/Time/to_a|#to_a]]</code>.
+
ينشئ التابع <code>gm</code> [[Ruby/Time|توقيت]]ا استنادًا إلى القيم المعطاة،
===[[Ruby/Time/local | التابع local]]===
+
===[[Ruby/Time/local| التابع local]]===
التابع <code>local</code> مشابه لـ <code>[[Ruby/Time/gm|::gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية.
+
التابع <code>local</code> مشابه لـ <code>[[Ruby/Time/gm|gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية.
===[[Ruby/Time/mktime | التابع mktime]]===
+
===[[Ruby/Time/mktime| التابع mktime]]===
التابع <code>mktime</code> مشابه لـ <code>[[Ruby/Time/gm|::gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية. المنطقة الزمنية المحلية.
+
التابع <code>mktime</code> مشابه لـ <code>[[Ruby/Time/gm|gm]]</code>، ولكنه يفسر القيم في إطار المنطقة الزمنية المحلية.
===[[Ruby/Time/new | التابع new]]===
+
===[[Ruby/Time/new| التابع new]]===
يعيد التابع <code>new</code> [[Ruby/Time|توقيت]]ا جديدا <code>[[Ruby/Time|Time]]</code>.
+
يعيد التابع <code>new</code> [[Ruby/Time|توقيت]]ا جديدا.
===[[Ruby/Time/now | التابع now]]===
+
===[[Ruby/Time/now| التابع now]]===
يُنشئ التابع <code>now</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا للوقت الحالي. هذا مثل استدعاء التابع <code>[[Ruby/Time/new|::new]]</code>X دون وسائط.
+
يُنشئ التابع <code>now</code> [[Ruby/Time|توقيت]]ا جديدا للوقت الحالي.
===[[Ruby/Time/utc | التابع utc]]===
+
===[[Ruby/Time/utc| التابع utc]]===
ينشئ التابع <code>utc</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> استنادًا إلى القيم المعطاة، ويتم تفسيره على أنه التوقيت العالمي الموحد UTC (GMT). يجب تحديد السنة. القيم الأخرى تُضبط افتراضيا عند الحد الأدنى لقيمة هذا الحقل (وقد تساوي <code>nil</code>، أو تُحذف). يمكن تحديد الأشهر بإعداد من 1 إلى 12، أو بثلاثة أحرف تمثل أسماء الشهور بالإنجليزية. يتم تحديد ساعات بعدد من (0..23). يطلق استثناء <code>[[Ruby/ArgumentError|ArgumentError]]</code> إذا كانت أي من تلك القيم خارج النطاق. سيقبل التابع أيضًا عشر وسائط في إخراج الطلب بواسطة <code>[[Ruby/Time/to_a|#to_a]]</code>.
+
ينشئ التابع <code>utc</code> [[Ruby/Time|توقيت]]ا استنادًا إلى القيم المعطاة،  
===[[Ruby/Time/plus_operator | التابع +]]===
+
 
معامل الإضافة - يضيف بعض الثواني (ربما كسرية) إلى [[Ruby/Time|التوقيت]] <code>time</code> ويُعيد تلك القيمة [[Ruby/Time|توقيتات]] <code>[[Ruby/Time|Time]]</code> جديد.
+
== توابع النسخة العامة (Public Instance Methods) ==
===[[Ruby/Time/minus_operator | التابع -]]===
+
 
معامل الفرق - يُعيد فرق الثواني على شكل [[Ruby/Time|توقيت]] <code>[[Ruby/Float|Float]]</code> بين <code>time</code> و <code>other_time</code>، أو يطرح <code>numeric</code> ثانية من <code>time</code>.
+
===[[Ruby/Time/plus operator| التابع +]]===
===[[Ruby/Time/compar_operator | التابع <=>]]===
+
معامل الإضافة - يضيف بعض الثواني (ربما كسرية) إلى [[Ruby/Time|التوقيت]]
معامل الموازنة - يقارن <code>time</code> مع <code>other_time</code> (انظر فقرة البنية العامة).
+
===[[Ruby/Time/minus operator| التابع -]]===
===[[Ruby/Time/asctime | التابع asctime]]===
+
معامل الفرق - يُعيد فرق الثواني على شكل عدد عشري <code>[[Ruby/Float|Float]]</code>
يُعيد التابع <code>asctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]] <code>time</code>.
+
===[[Ruby/Time/compar operator| التابع <=>]]===
===[[Ruby/Time/ctime | التابع ctime]]===
+
معامل الموازنة - يقارن توقيتين
يُعيد التابع <code>ctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]] <code>time</code>.
+
===[[Ruby/Time/asctime| التابع asctime]]===
===[[Ruby/Time/day | التابع day]]===
+
يُعيد التابع <code>asctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]].
يستخلص التابع <code>day</code> من [[Ruby/Time|التوقيت]] رقم اليوم من الشهر (1..n) لـ <code>time</code>.
+
===[[Ruby/Time/ctime| التابع ctime]]===
===[[Ruby/Time/dst-3F | التابع dst?‎]]===
+
يُعيد التابع <code>ctime</code> تمثيلا نصيا قانونيا لل[[Ruby/Time|توقيت]].
يُعيد التابع <code>dst?‎</code> القيمة <code>true</code> إن وقع <code>time</code> أثناء التوقيت الصيفي <code>[[Ruby/Time|Time]]</code> في المنطقة الزمنية الخاصة به.
+
===[[Ruby/Time/day| التابع day]]===
===[[Ruby/Time/eql-3F | التابع eql?‎]]===
+
يستخلص التابع <code>day</code> رقم اليوم من الشهر.
يُعيد <code>true</code> إذا كان كل من <code>time</code> و <code>other_time</code> (انظر فقرة البنية العامة) [[Ruby/Time|توقيت]] <code>[[Ruby/Time|Time]]</code>، وكان لهما نفس عدد الثواني وكسور الثواني.
+
===[[Ruby/Time/dst-3F| التابع dst?‎]]===
===[[Ruby/Time/friday-3F | التابع friday?‎]]===
+
يُعيد التابع <code>dst?‎</code> القيمة <code>true</code> إن وقع <code>time</code> أثناء التوقيت الصيفي
يُعيد التابع <code>friday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الجمعة.
+
===[[Ruby/Time/eql-3F| التابع eql?‎]]===
===[[Ruby/Time/getgm | التابع getgm]]===
+
يتحقق من تساوي توقيتين.
يُعيد التابع <code>getgm</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه <code>time</code> بالتوقيت العالمي الموحد (UTC).
+
===[[Ruby/Time/friday-3F| التابع friday?‎]]===
===[[Ruby/Time/getlocal | التابع getlocal]]===
+
يُعيد التابع <code>friday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الجمعة.
يُعيد التابع <code>getlocal</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه <code>time</code> بالتوقيت المحلي (باستخدام المنطقة الزمنية المحلية السارية لهذه العملية).
+
===[[Ruby/Time/getgm| التابع getgm]]===
===[[Ruby/Time/getutc | التابع getutc]]===
+
يُعيد التابع <code>getgm</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه  بالتوقيت العالمي الموحد (UTC).
يُعيد التابع <code>getutc</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه <code>time</code> بالتوقيت العالمي الموحد (UTC).
+
===[[Ruby/Time/getlocal| التابع getlocal]]===
===[[Ruby/Time/gmt-3F | التابع gmt?‎]]===
+
يُعيد التابع <code>getlocal</code> [[Ruby/Time|توقيت]]ا  جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه  بالتوقيت المحلي
يُعيد التابع <code>gmt?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل وقتا وفق UTC (GMT).
+
===[[Ruby/Time/getutc| التابع getutc]]===
===[[Ruby/Time/gmt_offset | التابع gmt_offset]]===
+
يُعيد التابع <code>getutc</code> [[Ruby/Time|توقيت]]ا  جديدا يمثل [[Ruby/Time|التوقيت]] الذي استُدعي معه  بالتوقيت العالمي الموحد (UTC).
يُعيد التابع <code>gmt_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] <code>time</code> و UTC.
+
===[[Ruby/Time/gmt-3F| التابع gmt?‎]]===
===[[Ruby/Time/gmtime | التابع gmtime]]===
+
يُعيد التابع <code>gmt?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] ضمن نطاق التوقيت العالمي الموحد (UTC).
يحول التابع <code>gmtime</code> [[Ruby/Time|التوقيت]] <code>time</code> إلى التوقيت UTC (GMT) ، مع تعديل المتلقي (receiver).
+
===[[Ruby/Time/gmt offset| التابع gmt_offset]]===
===[[Ruby/Time/gmtoff | التابع gmtoff]]===
+
يُعيد التابع <code>gmt_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] والتوقيت العالمي الموحد UTC.
يُعيد التابع <code>gmtoff</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] <code>time</code> و التوقيت العالمي الموحد (UTC).
+
===[[Ruby/Time/gmtime| التابع gmtime]]===
===[[Ruby/Time/hash | التابع hash]]===
+
يحول التابع <code>gmtime</code> [[Ruby/Time|التوقيت]] إلى التوقيت العالمي الموحد
يُعيدرمز تجزئة (hash code) لل[[Ruby/Time|توقيت]] <code>[[Ruby/Time|Time]]</code>.
+
===[[Ruby/Time/gmtoff| التابع gmtoff]]===
===[[Ruby/Time/hour | التابع hour]]===
+
يُعيد التابع <code>gmtoff</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] و التوقيت العالمي الموحد (UTC).
يُستخلص التابع <code>hour</code> من [[Ruby/Time|التوقيت]] رقم الساعة من اليوم (0..23) لـ <code>time</code>.
+
===[[Ruby/Time/hash| التابع hash]]===
===[[Ruby/Time/inspect | التابع inspect]]===
+
يُعيدرمز تجزئة (hash code) لل[[Ruby/Time|توقيت]].
يُعيد التابع <code>inspect</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]] <code>time</code>. هذا التابع مكافئ لاستدعاء التابع <code>[[Ruby/Time/strftime|strftime]]</code> مع سلسلة التنسيق المناسبة.
+
===[[Ruby/Time/hour| التابع hour]]===
===[[Ruby/Time/isdst | التابع isdst]]===
+
يُستخلص التابع <code>hour</code> من [[Ruby/Time|التوقيت]] رقم الساعة من اليوم
يُعيد التابع <code>isdst</code> القيمة <code>true</code> إن وقع [[Ruby/Time|التوقيت]] <code>time</code> أثناء التوقيت الصيفي<code>[[Ruby/Time|Time]]</code> في المنطقة الزمنية الخاصة به.
+
===[[Ruby/Time/inspect| التابع inspect]]===
===[[Ruby/Time/localtime | التابع localtime]]===
+
يُعيد التابع <code>inspect</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]].
يحول التابع <code>localtime</code> [[Ruby/Time|التوقيت]] <code>time</code> إلى التوقيت المحلي (باستخدام المنطقة الزمنية المحلية السارية لهذه العملية) مع تعديل المستقبِل (receiver).
+
===[[Ruby/Time/isdst| التابع isdst]]===
===[[Ruby/Time/mday | التابع mday]]===
+
يُعيد التابع <code>isdst</code> القيمة <code>true</code> إن وقع [[Ruby/Time|التوقيت]] أثناء التوقيت الصيفي
يستخلص التابع <code>mday</code> من [[Ruby/Time|التوقيت]] رقم اليوم من الشهر (1..n) لـ <code>time</code>.
+
===[[Ruby/Time/localtime| التابع localtime]]===
===[[Ruby/Time/min | التابع min]]===
+
يحول التابع <code>localtime</code> [[Ruby/Time|التوقيت]] إلى التوقيت المحلي
يستخلص التابع <code>min</code> من [[Ruby/Time|التوقيت]] رقم الدقيقة من الساعة (0..59) لـ <code>time</code>.
+
===[[Ruby/Time/mday| التابع mday]]===
===[[Ruby/Time/mon | التابع mon]]===
+
يستخلص التابع <code>mday</code> من [[Ruby/Time|التوقيت]] رقم اليوم من الشهر
يستخلص التابع <code>mon</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة (1..12) لـ <code>time</code>.
+
===[[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|التوقيت]] رقم الشهر من السنة (1..12) لـ <code>time</code>.
+
يستخلص التابع <code>month</code> من [[Ruby/Time|التوقيت]] رقم الشهر من السنة
===[[Ruby/Time/nsec | التابع nsec]]===
+
===[[Ruby/Time/nsec| التابع nsec]]===
يُعيد التابع <code>nsec</code> عدد النانوثواني المقابل لل[[Ruby/Time|توقيت]] <code>time</code>.
+
يُعيد التابع <code>nsec</code> عدد النانوثواني المقابل لل[[Ruby/Time|توقيت]].
===[[Ruby/Time/round | التابع round]]===
+
===[[Ruby/Time/round| التابع round]]===
يُقرّب التابع <code>round</code> الثواني الفرعية وفق دقة معينة من المنازل العشرية (0 هو القيمة الافتراضية). تقوم بيُعيد التابع <code>round</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدًا. يجب أن يكون الوسيط <code>ndigits</code> (انظر فقرة البنية العامة) 0 أو عددًا صحيحًا أو موجبًا.
+
يُقرّب التابع <code>round</code> الثواني الكسرية وفق دقة معينة.
===[[Ruby/Time/saturday-3F | التابع saturday?‎]]===
+
===[[Ruby/Time/saturday-3F| التابع saturday?‎]]===
يُعيد التابع <code>saturday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم السبت.
+
يُعيد التابع <code>saturday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]]  يمثل يوم السبت.
===[[Ruby/Time/sec | التابع sec]]===
+
===[[Ruby/Time/sec| التابع sec]]===
يستخلص التابع <code>sec</code> من [[Ruby/Time|التوقيت]] رقم الثانية في الدقيقة (0..60) لـ <code>time</code>.
+
يستخلص التابع <code>sec</code> من [[Ruby/Time|التوقيت]] رقم الثانية في الدقيقة
===[[Ruby/Time/strftime | التابع strftime]]===
+
===[[Ruby/Time/strftime| التابع strftime]]===
يُنسق التابع <code>strftime</code> [[Ruby/Time|التوقيت]] <code>time</code> وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة.
+
يُنسق التابع <code>strftime</code> [[Ruby/Time|التوقيت]] وفقًا للموجّهات (directives) الموجودة في سلسلة التنسيق المعطاة.
===[[Ruby/Time/subsec | التابع subsec]]===
+
===[[Ruby/Time/subsec| التابع subsec]]===
يُعيد التابع <code>subsec</code> الجزء العشري من [[Ruby/Time|التوقيت]] لـ <code>time</code>.
+
يُعيد التابع <code>subsec</code> الجزء العشري من [[Ruby/Time|التوقيت]].
===[[Ruby/Time/succ | التابع succ]]===
+
===[[Ruby/Time/succ| التابع succ]]===
يُعيد التابع <code>succ</code> [[Ruby/Time|توقيت]]ا <code>[[Ruby/Time|Time]]</code> جديدًا، مع إضافة ثانية واحدة على [[Ruby/Time|التوقيت]] الذي استُدعي معه <code>time</code>. التابع <code>[[Ruby/Time/succ|#succ]]</code> صار متجاوزا منذ روبي 1.9.2 بالنسبة لل[[Ruby/Time|توقيتات]] الكسرية.
+
يُعيد التابع <code>succ</code> [[Ruby/Time|توقيت]]ا  جديدًا، مع إضافة ثانية واحدة على [[Ruby/Time|التوقيت]] الذي استُدعي معه
===[[Ruby/Time/sunday-3F | التابع sunday?‎]]===
+
===[[Ruby/Time/sunday-3F| التابع sunday?‎]]===
يُعيد التابع <code>sunday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الأحد.
+
يُعيد التابع <code>sunday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الأحد.
===[[Ruby/Time/thursday-3F | التابع thursday?‎]]===
+
===[[Ruby/Time/thursday-3F| التابع thursday?‎]]===
يُعيد التابع <code>thursday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الخميس.
+
يُعيد التابع <code>thursday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الخميس.
===[[Ruby/Time/to_a | التابع to_a]]===
+
===[[Ruby/Time/to a| التابع to_a]]===
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] عشارية تضم قيم [[Ruby/Time|التوقيت]] <code>array</code> للـ <code>time</code>X:
+
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] عشارية تضم قيم [[Ruby/Time|التوقيت]]
===[[Ruby/Time/to_f | التابع to_f]]===
+
===[[Ruby/Time/to f| التابع to_f]]===
يُعيد التابع <code>to_f</code> قيمة [[Ruby/Time|التوقيت]] <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 حقبة يونيكس].
+
يُعيد التابع <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/to_i | التابع to_i]]===
+
===[[Ruby/Time/to i| التابع to_i]]===
يُعيد التابع <code>to_i</code> قيمة [[Ruby/Time|التوقيت]] <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 حقبة يونيكس].
+
يُعيد التابع <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/to_r | التابع to_r]]===
+
===[[Ruby/Time/to r| التابع to_r]]===
يُعيد التابع <code>to_r</code> قيمة [[Ruby/Time|التوقيت]] <code>time</code> ك[[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 حقبة يونيكس].
+
يُعيد التابع <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/to_s | التابع to_s]]===
+
===[[Ruby/Time/to s| التابع to_s]]===
يُعيد التابع <code>to_s</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]] <code>time</code>. وهو مكافئ لاستدعاء التابع <code>[[Ruby/Time/strftime|strftime]]</code> مع سلسلة التنسيق المناسبة.
+
يُعيد التابع <code>to_s</code> [[Ruby/String|سلسلة نصية]] تمثل [[Ruby/Time|التوقيت]]
===[[Ruby/Time/tuesday-3F | التابع tuesday?‎]]===
+
===[[Ruby/Time/tuesday-3F| التابع tuesday?‎]]===
يُعيد التابع <code>tuesday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الثلاثاء.
+
يُعيد التابع <code>tuesday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الثلاثاء.
===[[Ruby/Time/tv_nsec | التابع tv_nsec]]===
+
===[[Ruby/Time/tv nsec| التابع tv_nsec]]===
يُعيد التابع <code>tv_nsec</code> عدد النانوثواني المقابلة لل[[Ruby/Time|توقيت]] <code>time</code>.
+
يُعيد التابع <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]]===
+
===[[Ruby/Time/tv sec| التابع tv_sec]]===
يُعيد التابع <code>tv_sec</code> قيمة [[Ruby/Time|التوقيت]] <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 حقبة يونيكس].
+
يُعيد التابع <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/tv_usec | التابع tv_usec]]===
+
===[[Ruby/Time/tv usec| التابع tv_usec]]===
يُعيد التابع <code>tv_usec</code> عدد الميكروثواني المقابلة لل[[Ruby/Time|توقيت]] <code>time</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]]===
+
===[[Ruby/Time/usec| التابع usec]]===
يُعيد التابع <code>usec</code> عدد الميكروثواني المقابل لل[[Ruby/Time|توقيت]] <code>time</code>.
+
يُعيد التابع <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]]===
<a href="#method-i-utc-3F"> </a>
+
ينشئ التابع <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>time</code> يمثل يوم نظاق توقيت في التوقيت العالمي الموحد UTC (GMT).
+
يُعيد التابع <code>utc?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] ضمن نطاق  التوقيت العالمي الموحد
===[[Ruby/Time/utc_offset | التابع utc_offset]]===
+
===[[Ruby/Time/utc offset| التابع utc_offset]]===
يُعيد التابع <code>utc_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] <code>time</code> والتوقيت العالمي الموحد UTC.
+
يُعيد التابع <code>utc_offset</code> فرق الثواني بين المنطقة الزمنية لل[[Ruby/Time|توقيت]] والتوقيت العالمي الموحد UTC.
===[[Ruby/Time/wday | التابع wday]]===
+
===[[Ruby/Time/wday| التابع wday]]===
يُعيد التابع <code>wday</code> عددا صحيحا يمثل يوم الأسبوع ، 0..6 ، حيث يوم الأحد له القيمة 0.
+
يُعيد التابع <code>wday</code> عددا صحيحا يمثل رقم اليوم في الأسبوع  
===[[Ruby/Time/wednesday-3F | التابع wednesday?‎]]===
+
===[[Ruby/Time/wednesday-3F| التابع wednesday?‎]]===
يُعيد التابع <code>wednesday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] <code>time</code> يمثل يوم الأربعاء.
+
يُعيد التابع <code>wednesday?‎</code> القيمة <code>true</code> إن كان [[Ruby/Time|التوقيت]] يمثل يوم الأربعاء.
===[[Ruby/Time/yday | التابع yday]]===
+
===[[Ruby/Time/yday| التابع yday]]===
يُعيد التابع <code>yday</code> عددا صحيحا يمثل يوم من السنة ، 1..366.
+
يُعيد التابع <code>yday</code> عددا صحيحا يمثل رقم اليوم في  السنة ، 1..366.
===[[Ruby/Time/year | التابع year]]===
+
===[[Ruby/Time/year| التابع year]]===
يُعيد التابع <code>year</code> السنة من [[Ruby/Time|التوقيت]]<code>time</code> (بما في ذلك القرن).
+
يستخلص التابع <code>year</code> من [[Ruby/Time|التوقيت]] الذي استُدعي معه قيمة السنة (بما في ذلك القرن).
===[[Ruby/Time/zone | التابع zone]]===
+
===[[Ruby/Time/zone| التابع zone]]===
يعيد التابع <code>zone</code> اسم المنطقة الزمنية المستخدمة في [[Ruby/Time|التوقيت]] <code>time</code>. بدءًا من روبي 1.8، تُعاد [[Ruby/String|السلسلة النصية]] "UTC" بدلاً من "GMT" لتمثيل عن التوقيت العالمي الموحد UTC.
+
يعيد التابع <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 اسم المنطقة الزمنية المستخدمة في التوقيت.

مصادر