এই মাসের নাম (তারিখ.আজ আজ.মনেথ নাম হিসাবে)


115

আমি Date.today.monthমাসের নম্বরটি প্রদর্শন করতে ব্যবহার করছি । মাসের নাম পাওয়ার জন্য কোনও আদেশ আছে, বা এটি পাওয়ার জন্য আমার কি মামলা করা দরকার?


ডিলানের উত্তর এখনও রুবি 2.5.0 হিসাবে কাজ করে
ওয়ান ওয়ার্কিংহ্যাডফোন

উত্তর:


196

Date::MONTHNAMES[Date.today.month]আপনাকে "জানুয়ারী" দেবে (আপনার require 'date'প্রথমে প্রয়োজন হতে পারে )।


28
Date.today.strftime("%B")এটি করার একটি ভাল উপায় হ'ল, ইমো। এবং এটি রেলের সাথে নির্দিষ্ট নয়। পাতার নীচে উত্তর দেখুন।
পিটার বার্গ

2
@ পেড্রোমোরটরোলো এখনও আমার জন্য রুবি ২.২.০ তে কাজ করে - require 'date'প্রথমে নিশ্চিত হন ।
ডিলান মার্কো

121

আপনি I18n ব্যবহার করতে পারেন:

I18n.t("date.month_names") # [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
I18n.t("date.abbr_month_names") # [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
I18n.t("date.month_names")[Date.today.month] # "December"
I18n.t("date.abbr_month_names")[Date.today.month] # "Dec"

আমি যেমন মনে করি, এই উত্তরটি অন্যদের চেয়ে ভাল কারণ আই 18n বর্তমান লোকালে মাসের নাম ফেরত দেয়।
স্টেপান জাখারভ

80

আপনি ব্যবহার করতে পারেন strftime:

Date.today.strftime("%B") # -> November

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#strftime-method


2
রুবি ২ ব্যবহার করা প্রত্যেকের জন্য কেবল একটি সতর্কবার্তা, Time.new.strftime("B")আজকে ব্যবহার করতে হবে এবং
স্টাফটাইম

7
সত্য না. দুজনেই রুবি ২.০ এবং রুবি ২.১ এর সাথে রয়েছেন । দ্রষ্টব্য, যে তারা আপনার অবধি উপলব্ধ নয় require "date", যেহেতু তারা স্টাড-লিবিতে রয়েছে, মূল নয়।
pbyrne

16

আপনি যদি লোকেলটির বিষয়ে চিন্তা করেন তবে আপনার এটি করা উচিত:

I18n.l(Time.current, format: "%B")

বা I18n.l(Date.new, format: '%B')জানুয়ারী দিয়ে শুরু করা। আপনি যদি মাস যোগ করতে চান, ফেব্রুয়ারী থাকার মতো, ব্যবহার করুনDate.new + 1.month
রুই নুনস

13

রুবি ১.৯ এর জন্য আমাকে ব্যবহার করতে হয়েছিল:

Time.now.strftime("%B")

0

এইচটিএমএল I18n সহ মাস নির্বাচন করুন:

<select>
  <option value="">Choose month</option>
  <%= 1.upto(12).each do |month| %>
    <option value="<%= month %>"><%= I18n.t("date.month_names")[month] %></option>
  <% end %>
</select>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.