উত্তর:
<%= Time.current.year %>
আমি বরং সময় শ্রেণীর চেয়ে বছরের তুলনায় তারিখ শ্রেণিটি ব্যবহার করব (যদি কেবলমাত্র তারিখের প্রয়োজন হয় তবে আপনাকে ঘন্টা, মিনিট এবং সেকেন্ড বিবেচনা করার দরকার নেই)।
<%= Date.today.year %>
সিএফ http://ruby-doc.org/stdlib-2.1.0/libdoc/date/rdoc/Date.html#method-c-today
আমি মনে করি অ্যাপ্লিকেশন টাইমজোন বিবেচনা করে বর্তমান বছরটি পাওয়ার সর্বোত্তম উপায় হ'ল:
Date.current.year
এরপরেও এর উত্তর দেওয়া হলেও, আমি ভেবেছিলাম যারা প্রস্তাবিত সমস্ত সমাধানের জন্য বেঞ্চমার্কের ফলাফলগুলি দেখতে চান তাদের পক্ষে এটি কার্যকর হতে পারে।
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
ভিত্তিক পদ্ধতিগুলি আপনার সেরা বাজি।
টাইম জোনে অন রায়ানের এই দুর্দান্ত রেইলকাস্টটি দেখুন
Date.current
হিসাবে একইTime.zone.today
যদিconfig.time_zone
সেট করা হয়।