English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Time استخدام فئة في Ruby لتمثيل التاريخ والوقت. إنها تعتمد على تاريخ和时间 النظام الأساسي الذي يقدمه النظام. قد لا يمكن للفئة تمثيل التاريخ قبل عام 1970 أو بعد عام 2038.
هذا الدليل سيعرض لك جميع المفاهيم المهمة للتاريخ والوقت.
إليك مثال بسيط للحصول على التاريخ والوقت الحالي:
#!/usr/bin/ruby -w # -*- coding: UTF-8 -*- time1 = Time.new puts "الوقت الحالي: " + time1.inspect # نفس وظيفة Time.now time2 = Time.now puts "الوقت الحالي: " + time2.inspect
نتائج الإدخال للنصوص أعلاه هي:
الوقت الحالي: 2015-09-17 15:23:14 +0800 الوقت الحالي: 2015-09-17 15:23:14 +0800
يمكننا استخدام Time استخدام الكائن للحصول على مكونات التاريخ والوقت. انظر الأمثلة التالية:
#!/usr/bin/ruby -w # -*- coding: UTF-8 -*- time = Time.new # مكونات Time puts "الوقت الحالي: " + time.inspect puts time.year # => السنة في اليوم puts time.month # => الشهر في اليوم (من 1 إلى 12) puts time.day # => اليوم في الشهر (من 1 إلى 31) puts time.wday # => يوم الأسبوع في الأسبوع (0 هو الأحد) puts time.yday # => 365: اليوم في السنة puts time.hour # => 23:24 نظام الساعة puts time.min # => 59 puts time.sec # => 59 puts time.usec # => 999999: الميكروثانية puts time.zone # => "UTC": اسم المنطقة الزمنية
نتائج الإدخال للنصوص أعلاه هي:
الوقت الحالي: 2015-09-17 15:24:44 +0800 2015 9 17 4 260 15 24 44 921519 CST
يمكن استخدام هذه الوظائف لتنسيق التواريخ بتنسيق معياري، كما يلي:
# July 8, 2008 Time.local(2008, 7, 8) # July 8, 2008, 09:10am، الوقت المحلي Time.local(2008, 7, 8, 9, 10) # July 8, 2008, 09:10 UTC Time.utc(2008, 7, 8, 9, 10) # July 8, 2008, 09:10:11 GMT (مثل UTC) Time.gm(2008, 7, 8, 9, 10, 11)
إليك مثال على الحصول على جميع المكونات في المسلسل:
[sec,min,hour,day,month,year,wday,yday,isdst,zone]
جرب هذا المثال:
#!/usr/bin/ruby -w time = Time.new values = time.to_a p values
نتائج الإدخال للنصوص أعلاه هي:
[39, 25, 15, 17, 9, 2015, 4, 260, false, "CST"]
يمكن إرسال هذا المسلسل إلى Time.utc أو Time.local للحصول على تنسيقات تاريخ مختلفة، كما يلي:
#!/usr/bin/ruby -w time = Time.new values = time.to_a puts Time.utc(*values)
نتائج الإدخال للنصوص أعلاه هي:
2015-09-17 15:26:09 UTC
إليك كيفية الحصول على الوقت، من العصر إلى الثواني (متعلق بالمنصة):
# يعود من العصر إلى الثواني time = Time.now.to_i # تحويل الثواني إلى وقت Time Time.at(time) # يعود من العصر إلى الثواني، يحتوي على الميكروثانية time = Time.now.to_f
يمكنك استخدام Time للحصول على جميع المعلومات المتعلقة بتوقيت المنطقة والإجازة الصيفية، كما يلي:
time = Time.new # هذا هو التفسير time.zone # => "UTC": العودة إلى منطقة الزمنية time.utc_offset # => 0: UTC هو نسبة إلى UTC 0 ثانية منسوب time.zone # => "PST" (أو منطقة زمنية أخرى) time.isdst # => false: إذا لم يكن لدى UTC DST (الإجازة الصيفية) time.utc? # => true: إذا كانت في منطقة الزمنية UTC time.localtime # تحويل إلى منطقة الزمنية المحلية time.gmtime # تحويل إلى UTC time.getlocal # يعيدُ إنشاءً جديدًا لـ Time في المنطقة المحلية time.getutc # يعيدُ إنشاءً جديدًا لـ Time في UTC
هناك عدة طرق لتشكيل تاريخ和时间. فيما يلي مثال على بعضها:
#!/usr/bin/ruby -w time = Time.new puts time.to_s puts time.ctime puts time.localtime puts time.strftime("%Y-%m-%d %H:%M:%S")
نتائج الإدخال للنصوص أعلاه هي:
2015-09-17 15:26:42 +0800 Thu Sep 17 15:26:42 2015 2015-09-17 15:26:42 +0800 2015-09-17 15:26:42
الجدول التالي يبين التعليمات والطرق. Time.strftime استخدامها معًا.
تعليمات | وصف |
---|---|
%a | اختصار اسم اليوم من الاسبوع (مثل الاحد). |
%A | اسم اليوم من الاسبوع الكامل (مثل الاحد). |
%b | اختصار اسم الشهر (مثل ينا). |
%B | اسم الشهر الكامل (مثل يناير). |
%c | طريقة التعبير المفضلة للتاريخ والوقت المحلي. |
%d | اليوم من الشهر (من 01 إلى 31). |
%H | الساعة من اليوم، نظام 24 ساعة (من 00 إلى 23). |
%I | الساعة من اليوم، نظام 12 ساعات (من 01 إلى 12). |
%j | اليوم من السنة (من 001 إلى 366). |
%m | الشهر من السنة (من 01 إلى 12). |
%M | الدقيقة من الساعة (من 00 إلى 59). |
%p | اشارة الشروق والغروب (صباحًا أو مساءً). |
%S | ثانية من الدقيقة (00 أو 60). |
%U | الاسبوع الحالي من السنة، يبدأ من الاحد الاول (يكون الاسبوع الاول اول يوم اسبوع). (من 00 إلى 53). |
%W | الاسبوع الحالي من السنة، يبدأ من الاثنين الاول (يكون الاسبوع الاول اول يوم اسبوع). (من 00 إلى 53). |
%w | اليوم من الأسبوع (الاحد هو 0، من 0 إلى 6). |
%x | طريقة التعبير المفضلة للتاريخ فقط بدون وقت. |
%X | طريقة التعبير المفضلة للوقت فقط بدون تاريخ. |
%y | مشاركة سنة بدون قرن (من 00 إلى 99). |
%Y | سنة مع قرن. |
%Z | اسم منطقة الوقت. |
%% | % رمز. |
يمكنك استخدام الوقت لإجراء حسابات بسيطة، مثل ما يلي:
now = Time.now # الوقت الحالي puts now past = now - 10 # 10 ثواني قبل الآن Time - عدد => Time puts past future = now + 10 # من الآن 10 ثواني Time + عدد => Time puts future diff = future - now # => 10 Time - Time => عدد الثواني puts diff
نتائج الإدخال للنصوص أعلاه هي:
2015-09-17 15:27:08 +0800 2015-09-17 15:26:58 +0800 2015-09-17 15:27:18 +0800 10.0