কীভাবে বর্তমান বছরটি দেখবেন?


104

একটি দৃশ্যতে বর্তমান বছরটি দেখানোর জন্য আমি কোন ফাংশন ব্যবহার করতে পারি? আমি চেষ্টা করেছি

<%= Time.now  %>

চেষ্টা এবং সময় দেখানোর জন্য কিন্তু এটি আমার কাজ করে না।

উত্তর:



48

আমি বরং সময় শ্রেণীর চেয়ে বছরের তুলনায় তারিখ শ্রেণিটি ব্যবহার করব (যদি কেবলমাত্র তারিখের প্রয়োজন হয় তবে আপনাকে ঘন্টা, মিনিট এবং সেকেন্ড বিবেচনা করার দরকার নেই)।

<%= Date.today.year %>

সিএফ 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সেট করা হয়।
ব্রায়ান

এটি সেরা উত্তর। তারিখ.কোর্ন্ট সবচেয়ে উপযুক্ত।
মারিও

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ভিত্তিক পদ্ধতিগুলি আপনার সেরা বাজি।

টাইম জোনে অন রায়ানের এই দুর্দান্ত রেইলকাস্টটি দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.