जवाबों:
time = Time.now.getutc
Rationale: मेरी नज़र में एक टाइमस्टैम्प बिल्कुल वैसा ही है: A पॉइंट इन टाइम। इसे एक वस्तु के साथ सटीक रूप से दर्शाया जा सकता है। यदि आपको कुछ और चाहिए, तो एक स्केलर मान, जैसे यूनिक्स की अवधि के बाद के सेकंड, 1601 के बाद से 100-एनएस अंतराल या प्रदर्शन उद्देश्यों के लिए एक स्ट्रिंग या डेटाबेस में टाइमस्टैम्प को संग्रहीत करने के लिए, आप आसानी से ऑब्जेक्ट से प्राप्त कर सकते हैं। लेकिन यह आपके इच्छित उपयोग पर बहुत अधिक निर्भर करता है।
यह कहना कि »एक सच्चा टाइमस्टैम्प कुछ सेकंड की संख्या है क्योंकि यूनिक्स युग के बाद« यह बिंदु थोड़ा गायब है, क्योंकि यह समय में एक बिंदु का प्रतिनिधित्व करने का एक तरीका है, लेकिन यह भी अतिरिक्त जानकारी की आवश्यकता है कि आपको पता है कि आप के साथ काम कर रहे हैं एक समय और एक संख्या नहीं। एक Time
वस्तु समय में एक बिंदु का प्रतिनिधित्व करके इस समस्या को अच्छी तरह से हल करती है और यह भी स्पष्ट है कि यह क्या है ।
आप उपयोग कर सकते हैं Time.now.to_i
:।
मेरी राय में, डिफ़ॉल्ट स्वरूपण बहुत उपयोगी नहीं है। मैं ISO8601 को पसंद करता हूं, क्योंकि यह क्रमबद्ध, अपेक्षाकृत कॉम्पैक्ट और व्यापक रूप से मान्यता प्राप्त है:
>> require 'time'
=> true
>> Time.now.utc.iso8601
=> "2011-07-28T23:14:04Z"
/usr/share/ruby/2.0/time.rb
।
आमतौर पर टाइमस्टैम्प में कोई समयक्षेत्र नहीं होता है।
% irb
> Time.now.to_i == Time.now.getutc.to_i
=> true
to_f
बेहतर होगा
अगर आपको मानव-पठनीय टाइमस्टैम्प चाहिए (जैसे रेल का माइग्रेशन है) पूर्व। " 20190527141340 "
Time.now.utc.to_formatted_s(:number) # using Rails
Time.now.utc.strftime("%Y%m%d%H%M%S") # using Ruby
सेकंड में दी गई ग्रैन्युलैरिटी के साथ टाइमस्टैम्प कितना अच्छा है? मुझे लगता है कि यह बहुत अधिक व्यावहारिक है Time.now.to_f
। बिल्ली, तुम भी to_s.sub('.','')
दशमलव बिंदु से छुटकारा पाने के लिए फेंक सकते हैं , या इस तरह एक टाइपकास्ट प्रदर्शन कर सकते हैं Integer(1e6*Time.now.to_f)
:।
Integer(1e3*Time.now.to_f)
ताकि मेरा सर्वर साइड रूबी टाइमस्टैम्प क्लाइंट साइड जावास्क्रिप्ट के समान होDate.now()
Time.utc(2010, 05, 17)
time = Time.zone.now()
यह के रूप में काम करेगा
irb> Time.zone.now
=> 2017-12-02 12:06:41 UTC
उचित तरीका यह है Time.now.getutc.to_i
कि उचित टाइमस्टैम्प राशि प्राप्त करने के लिए केवल समय के अंतर के कारण पूर्णांक की आवश्यकता हमेशा ही नहीं होनी चाहिए क्योंकि utc टाइमस्टैम्प के समान ही होना चाहिए।