التابع Time.new
في روبي
ينشئ التابع new
توقيتًا جديدًا. يتم ضبطه عند وقت النظام الحالي إذا لم يُمرر أي وسيط.
ملحوظة: سيستخدم الكائن الجديد الدقة المتوفرة على ساعة النظام (system clock)، وقد يتضمن كسور الثواني أو لا.
في حال تمرير وسيط واحد أو أكثر، سيتم ضبط التوقيت عند الوقت المحدد.
البنية العامة
new → time
new(year, month=nil, day=nil, hour=nil, min=nil, sec=nil, utc_offset=nil) → time
المعاملات
year
عدد يمثِّل السنة.
month
عدد بين 1 و 12 يمثِّل الشهر، أو ثلاثة أحرف أجنبية تمثل اسم الشهر.
day
عدد يمثِّل اليوم.
hour
عدد بين 0 و 23 يمثِّل الساعة.
min
عدد يمثِّل الدقيقة.
sec
عدد يمثِّل الثانية. قد يتضمن جزءًا عشريًّا إن كان عددًا جذريًا.
utc_offset
فارق التوقيت مع التوقيت العالمي الموحد، ويمكن أن يكون سلسلة نصية مثل "+09: 00
"، أو عددًا من الثواني مثل 32400
.
القيمة المعادة
يعاد توقيتٌ جديدٌ.
أمثلة
مثال على استخدام التابع new
:
a = Time.new #=> 2007-11-19 07:50:02 -0600
b = Time.new #=> 2007-11-19 07:50:02 -0600
a == b #=> false
"%.6f" % a.to_f #=> "1195480202.282373"
"%.6f" % b.to_f #=> "1195480202.283415"
Time.new(2008,6,21, 13,30,0, "+09:00") #=> 2008-06-21 13:30:00 +0900
# A trip for RubyConf 2007
t1 = Time.new(2007,11,1,15,25,0, "+09:00") # JST (Narita)
t2 = Time.new(2007,11,1,12, 5,0, "-05:00") # CDT (Minneapolis)
t3 = Time.new(2007,11,1,13,25,0, "-05:00") # CDT (Minneapolis)
t4 = Time.new(2007,11,1,16,53,0, "-04:00") # EDT (Charlotte)
t5 = Time.new(2007,11,5, 9,24,0, "-05:00") # EST (Charlotte)
t6 = Time.new(2007,11,5,11,21,0, "-05:00") # EST (Detroit)
t7 = Time.new(2007,11,5,13,45,0, "-05:00") # EST (Detroit)
t8 = Time.new(2007,11,6,17,10,0, "+09:00") # JST (Narita)
p((t2-t1)/3600.0) #=> 10.666666666666666
p((t4-t3)/3600.0) #=> 2.466666666666667
p((t6-t5)/3600.0) #=> 1.95
p((t8-t7)/3600.0) #=> 13.416666666666666
انظر أيضًا
- التابع
at
: ينشئ توقيتا جديدًا انطلاقًا من معلومات الوقت المٌمرَّرة إليه. - التابع
mktime
: ينشئ توقيتًا جديدًا بشكل مشابه للتابعgm
باستثناء أنَّه يفسر القيم في إطار المنطقة الزمنية المحلية. - التابع
now
: يُنشئ توقيتًا جديدًا للوقت الحالي.