वर्तमान वर्ष को कैसे देखें?


104

क्या कोई ऐसा कार्य है जिसका उपयोग मैं वर्तमान वर्ष को देखने के लिए कर सकता हूँ? मैंने कोशिश की है

<%= Time.now  %>

कोशिश करना और समय दिखाना लेकिन यह मेरे लिए काम नहीं करता है।

जवाबों:



48

मैं समय वर्ग की तुलना में वर्ष प्राप्त करने के लिए दिनांक वर्ग का उपयोग करूंगा (यदि आपको केवल दिनांक की आवश्यकता है, तो आपको घंटे, मिनट और सेकंड पर विचार करने की आवश्यकता नहीं है)।

<%= Date.today.year %>

cf http://ruby-doc.org/stdlib-2.1.0/libdoc/date/rdoc/Date.html#method-c-today


44

मुझे लगता है कि आवेदन करने के समय पर विचार करने का सबसे अच्छा तरीका वर्तमान समय है:

Date.current.year

1
माना। इसके अलावा, Date.currentके रूप में ही है Time.zone.today, तो config.time_zoneनिर्धारित है।
ब्रायन

यह सबसे अच्छा जवाब है। Date.current सबसे उपयुक्त है।
मारियो

17

मुझे उपयोग करना पसंद है:

Time.zone.now.year

यह वर्तमान समयक्षेत्र को ध्यान में रखता है (यदि आपने किसी विशेष उपयोगकर्ता के लिए इसे ओवरराइड किया है)।


6

इसके बावजूद कि यह पहले ही उत्तर दिया जा चुका है, मैंने सोचा कि यह उन लोगों के लिए उपयोगी हो सकता है जो सभी सुझाए गए समाधानों के लिए बेंचमार्क परिणामों को देखना चाहते हैं।

require 'benchmark'

n = 500000
Benchmark.bm do |x|
  x.report { n.times do ; Date.today.year; end }
  x.report { n.times do ; Date.current.year; end }
  x.report { n.times do ; Time.current.year; end }
  x.report { n.times do ; Time.zone.now.year; end }
end

    user     system      total        real
0.680000   0.030000   0.710000 (  0.709078)
2.730000   0.010000   2.740000 (  2.735085)
3.340000   0.010000   3.350000 (  3.363586)
3.070000   0.000000   3.070000 (  3.082388)

अब, यह संभवत: किसी चीज़ के लिए शीर्ष पर लग सकता है, हालांकि, एक उच्च थ्रूपुट एप्लिकेशन के लिए एक सरल अनुकूलन दृष्टिकोण से, मैं इसका उपयोग करने पर विचार करूंगा Date.today.year

कहा, यदि आपका आवेदन टाइम ज़ोन संवेदनशील है, तो शायद Date.currentया Time.zoneआधारित विधियाँ आपका सबसे अच्छा दांव हैं।

टाइम ज़ोन पर रयान द्वारा इस अद्भुत Railscast की जाँच करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.