তারিখ থেকে মাসের নাম পান


672

জাভাস্ক্রিপ্টে এই তারিখের অবজেক্ট থেকে আমি কীভাবে মাসের নাম (যেমন: অক্টোবর / অক্টোবর) তৈরি করতে পারি?

var objDate = new Date("10/11/2009");

চমৎকার হবে না যদি stackoverflow.com/a/18648314/5846045 ভাল উত্তর ভবিষ্যতে পাঠকদের গাইড এ গৃহীত হতে পারে
Boghyon হফম্যান

উত্তর:


1136

সংক্ষিপ্ত সংস্করণ:

const monthNames = ["January", "February", "March", "April", "May", "June",
  "July", "August", "September", "October", "November", "December"
];

const d = new Date();
document.write("The current month is " + monthNames[d.getMonth()]);

দ্রষ্টব্য (2019-03-08) - আমার উত্তরটি যা আমি ২০০৯ সালে মূলত লিখেছিলাম তা পুরানো। আরও ভাল সমাধানের জন্য ডেভিড স্টোরীর উত্তর দেখুন ।


401
এটি কিছুটা হতাশার মতো এমনকি ফিরে new Date()আসার Tue Sep 06 2011 20:02:25 GMT+0200 (CEST)অর্থ যা স্পষ্টভাবে বোঝায় যে ডেট অবজেক্টটি ইতিমধ্যে এই সমস্ত অভ্যন্তরীণভাবে সংজ্ঞায়িত হয়েছে (মাস এবং সপ্তাহের দিনের নাম) এটি সর্বজনীন নয়, সুতরাং আমাদের আবার এটি টাইপ করতে হবে। :(
zanona

9
যদি কোনও সমর্থিত প্রতিটি ভাষার জন্য মাসের নাম অন্তর্ভুক্ত করতে হয় তবে কোনও আদর্শ সমাধান নয়। এর String#splitসাথে toStringবা ব্যবহারের আরও ভাল উপায় হতে পারে toDateString
রায়ান 19

23
একাধিক ভাষা = বহুমাত্রিক অ্যারে;) অনুবাদগুলি ["মাসের নাম"] [বর্তমান ভাষাগত] [d.getMonth ()]
নুয়াল

25
@ জেনোনা — একটি তারিখের অবজেক্টে অগত্যা "এই সমস্ত অভ্যন্তরীণভাবে সংজ্ঞায়িত" থাকে না। ECMA-262 এ যা প্রয়োজন তা হ'ল একটি সময় মূল্য , যা একটি সংখ্যা। আপনি যা দেখছেন তা হ'ল ডেট.প্রোটোটাইপ.টো স্ট্রিংয়ের ফলাফল যা বাস্তবায়ন নির্ভর।
রবজি

9
@ ডেভিন তবে এটি যতবারই অ্যাক্সেস করতে চান অ্যারেটিকে পুনরায় স্থান দেয়।
কোল জনসন

776

ECMAScript আন্তর্জাতিকীকরণ API এর মাধ্যমে এটি করা এখন সম্ভব:

const date = new Date(2009, 10, 10);  // 2009-11-10
const month = date.toLocaleString('default', { month: 'long' });
console.log(month);

'long''short'সংক্ষিপ্ত নাম এবং 'narrow'আরও ন্যূনতম সংস্করণের জন্য, যেমন বর্ণমালার ভাষায় প্রথম অক্ষর হিসাবে মাসের পুরো নাম ব্যবহার করে ।

আপনি ব্রাউজারের থেকে স্থানীয়কে আপনার পছন্দসইভাবে পরিবর্তন করতে পারেন 'default'(যেমন 'en-us'), এবং এটি সেই ভাষা / দেশের জন্য সঠিক নাম ব্যবহার করবে।

সঙ্গে toLocaleStringAPI আপনি লোকেল এবং বিকল্প প্রতিটি সময় পাস করতে হবে। আপনি যদি একাধিক বিভিন্ন তারিখে একই স্থানীয় তথ্য এবং ফর্ম্যাটিং বিকল্পগুলি ব্যবহার করতে যাচ্ছেন তবে আপনি Intl.DateTimeFormatপরিবর্তে ব্যবহার করতে পারেন :

const formatter = new Intl.DateTimeFormat('fr', { month: 'short' });
const month1 = formatter.format(new Date());
const month2 = formatter.format(new Date(2003, 5, 12));
console.log(`${month1} and ${month2}`); // current month in French and "juin".

আরও তথ্যের জন্য আন্তর্জাতিকীকরণ এপিআইতে আমার ব্লগ পোস্টটি দেখুন ।


1
আমি নিশ্চিত করতে পারি যে সাফারি প্রযুক্তি পূর্বরূপটির এর জন্য সমর্থন আছে। আমি মনে করি গ্রহণযোগ্য উত্তর হওয়া উচিত
সালমান হাসরাত খান

1
নোডেও কাজ করে!
মাইকম্যাকানা

4
দুর্দান্ত সমাধান, তবে আমার ব্যবহারের ক্ষেত্রে এটি খুব ধীর হয়ে গেছে। আমি কয়েকশ আইটেম প্রসেস করছি এবং মাস এবং বছর উভয় (ক্রোম, সাফারি) পেতে এটি প্রতি আইটেমের গড় প্রায় 1 মিমি ছিল। আমি গ্রহণযোগ্য উত্তরটি ব্যবহার করে শেষ করেছি তবে কেবল এটির থেকে আরও ভাল অভিনয় করা হয়েছে। আমাকে কেবল কয়েকবার কল করার প্রয়োজন হলে এটি আমার পছন্দের পদ্ধতি হবে।
t.888

7
এটি এখন বেশিরভাগ ব্রাউজারগুলিতে সমর্থিত: caniuse.com/#search=intl
eyal83

2
প্রতিক্রিয়া নেটিভ এ নোট করুন, এটি আইওএস ডিভাইসগুলির জন্য কাজ করে, তবে অ্যান্ড্রয়েডে, এটি ভুলভাবে প্রদর্শিত হয় (কেবল পুরো টাইমস্ট্যাম্পটি ছড়িয়ে দেয়)।
হার্ডঞ্জার

162

স্থানীয়করণের সহায়তায় আরও একটি এখানে রয়েছে :)

Date.prototype.getMonthName = function(lang) {
    lang = lang && (lang in Date.locale) ? lang : 'en';
    return Date.locale[lang].month_names[this.getMonth()];
};

Date.prototype.getMonthNameShort = function(lang) {
    lang = lang && (lang in Date.locale) ? lang : 'en';
    return Date.locale[lang].month_names_short[this.getMonth()];
};

Date.locale = {
    en: {
       month_names: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
       month_names_short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    }
};

আপনি সহজেই অন্যান্য ভাষার জন্য সমর্থন যুক্ত করতে পারেন:

Date.locale.fr = {month_names: [...]};

2
উল্লেখ্য এই নোডের কাজ করবে না 6.x এর মতো Date.localeহয় undefined। এটি অন্য জেএস বাস্তবায়নের জন্য যদিও দুর্দান্ত উত্তর!
মাইকম্যাকানা

যদি স্থানীয়করণের অ্যারেগুলি ডেট.প্রোটোটাইপ.টোলোক্যালস্ট্রিং ব্যবহার করে তৈরি করা হত তবে এটি বোধগম্য হতে পারে । এছাড়াও, অন্তর্নির্মিত প্রোটোটাইপ এবং অবজেক্টগুলি প্রসারিত করা ভাল ধারণা হিসাবে বিবেচিত হয় না।
রবজি

62

আপনি যদি তারিখের প্রোটোটাইপটি প্রসারিত করতে আপত্তি করেন না (এবং এটি না করতে কিছু ভাল কারণ রয়েছে) তবে আপনি আসলে খুব সহজ পদ্ধতিটি নিয়ে আসতে পারেন:

Date.prototype.monthNames = [
    "January", "February", "March",
    "April", "May", "June",
    "July", "August", "September",
    "October", "November", "December"
];

Date.prototype.getMonthName = function() {
    return this.monthNames[this.getMonth()];
};
Date.prototype.getShortMonthName = function () {
    return this.getMonthName().substr(0, 3);
};

// usage:
var d = new Date();
alert(d.getMonthName());      // "October"
alert(d.getShortMonthName()); // "Oct"

এই ফাংশনগুলি তখন সমস্ত জাভাস্ক্রিপ্টের তারিখের অবজেক্টগুলিতে প্রযোজ্য ।


6
"এবং এটি না করতে কিছু ভাল কারণ রয়েছে"। শুধু কৌতূহলী: কোন কারণগুলি বলতে চাইছেন?
KooiInc

13
@ কুলিঙ্ক: কারণ আপনি মূলত বিশ্বজগতে কাজ করছেন। আপনি যদি কারও কারও কাজ বা লাইব্রেরি আমদানি করেন যা এটি করে, তবে তারা একে অপরকে ওভাররাইট করা হতে পারে।
নিকফ

61

আমি মুহুর্ত.জে s এর লাইব্রেরি formatথেকে ফাংশনটি আন্তরিকভাবে প্রস্তাব দিচ্ছি , যা আপনি এটি ব্যবহার করতে পারেন:

moment().format("MMM");  // "Apr" - current date
moment(new Date(2012, 01, 04)).format("MMM");  // "Feb" - from a local date
moment.utc(new Date(2012, 00, 04).format("MMM"); // "Jan" - from a UTC date

আপনার যদি মাসের পুরো নাম প্রয়োজন হয় তবে "এমএমএম" এর পরিবর্তে "এমএমএমএম" ব্যবহার করুন

অন্যান্য বৈশিষ্ট্যগুলির দীর্ঘ তালিকা ছাড়াও এর আন্তর্জাতিকীকরণের দৃ strong় সমর্থন রয়েছে ।


2
প্রথমটির ফলাফল "এপ্রিল" হবে। "এমএমএম" মাসের প্রথম তিনটি অক্ষর দেখায়, আপনি যদি পুরো নামটি চান তার পরিবর্তে "এমএমএমএম" ব্যবহার করুন। সহায়তার জন্য তাদের ডকুমেন্টেশন দেখুন ।
টমনার

আপনি যদি ভারী অপ্টিমাইজেশনের পথে চলে যাচ্ছেন এবং HTTP অনুরোধগুলি হ্রাস করছেন, এটি আপনার পক্ষে বিকল্প নাও হতে পারে। পরিবর্তে, আপনি কেবলমাত্র এক লাইনের মাসের নামগুলি ফর্ম্যাট করতে চলেছেন তবে কেবল মাসের নামের একটি অ্যারে ব্যবহার করে আটকে দিন।
ওজজি দ্য জায়ান্ট

3
মুহুর্তটি একটি খুব বড় লাইব্রেরি এবং এর জন্য ওভারকিল। আধুনিক বিকল্পগুলি অন্তর্ভুক্ত করে Luxonএবং date-fnsতবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে
ড্যান ড্যাসক্লেস্কু

21
Date.prototype.getMonthName = function() {
    var monthNames = [ "January", "February", "March", "April", "May", "June", 
                       "July", "August", "September", "October", "November", "December" ];
    return monthNames[this.getMonth()];
}

এটি হিসাবে ব্যবহার করা যেতে পারে

var month_Name = new Date().getMonthName();

18

তারিখ অবজেক্ট থেকে কিছু সাধারণ সহজ প্রক্রিয়া এটি দ্বারা করা যেতে পারে।

var monthNames = ["January", "February", "March", "April", "May", "June",
  "July", "August", "September", "October", "November", "December"
];
var monthShortNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
  "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
];

function dateFormat1(d) {
  var t = new Date(d);
  return t.getDate() + ' ' + monthNames[t.getMonth()] + ', ' + t.getFullYear();
}

function dateFormat2(d) {
  var t = new Date(d);
  return t.getDate() + ' ' + monthShortNames[t.getMonth()] + ', ' + t.getFullYear();
}

console.log(dateFormat1(new Date()))
console.log(dateFormat2(new Date()))

অথবা আপনি ডেট প্রোটোটাইপটি তৈরি করতে পারেন

Date.prototype.getMonthName = function() {
  var monthNames = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"
  ];
  return monthNames[this.getMonth()];
}


Date.prototype.getFormatDate = function() {
  var monthNames = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"
  ];
  return this.getDate() + ' ' + monthNames[this.getMonth()] + ', ' + this.getFullYear();
}


console.log(new Date().getMonthName())
console.log(new Date().getFormatDate())

উদা:

var dateFormat3 = new Date().getMonthName(); # March

var dateFormat4 = new Date().getFormatDate(); # 16 March, 2017


2
ধন্যবাদ! আমি এখনও প্রোটোটাইপগুলি বুঝতে পারি না, তবে আমি এটি ব্যবহার করে দেখার অপেক্ষায় রয়েছি।
এরিক হিপারল - কোডস্লেয়ার2010

17

এটি করতে আপনি ডেটজে ব্যবহার করতে পারেন । ফর্ম্যাটস্পিফায়ারগুলি পরীক্ষা করুন, এমএমএমএম আপনাকে মাসের নাম দেয়:

var objDate = new Date("10/11/2009");
document.write(objDate.toString("MMMM"));

এবং ডেটজেসগুলি সেখানকার 150 টিরও বেশি লোকেলের জন্য স্থানীয়করণ পেয়েছে! এখানে দেখো


12

চেষ্টা করুন:

var objDate = new Date("10/11/2009");

var strDate =
    objDate.toLocaleString("en", { day: "numeric" }) + ' ' +
    objDate.toLocaleString("en", { month: "long"  }) + ' ' +
    objDate.toLocaleString("en", { year: "numeric"});

এটি শীতকালীন 2017 এ কাজ করেছে! 3 বছর বা তারও বেশি আগে অন্য ব্যবহারকারীদের পরামর্শ অনুযায়ী "এন-ইউএস" ব্যবহার করা Chrome এ কাজ করে না।
এরিক হিপারল - কোডস্লেয়ার2010

9

এখানে এমন একটি উপায় যা হার্ড কোডিং অ্যারে নির্ভর করে না এবং একাধিক লোকেল সমর্থন করে।

আপনার যদি পুরো অ্যারে দরকার হয়:

var monthsLocalizedArray = function(locale) {
    var result = [];
    for(var i = 0; i < 12; i++) {
        result.push(new Date(2010,i).toLocaleString(locale,{month:"long"}));
    }
    return result;
};

ব্যবহার:

console.log(monthsLocalizedArray('en')); // -> ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
console.log(monthsLocalizedArray('bg')); // -> ["януари", "февруари", "март", "април", "май", "юни", "юли", "август", "септември", "октомври", "ноември", "декември"]

আপনার যদি কেবলমাত্র একটি নির্বাচিত মাসের (দ্রুত) প্রয়োজন হয়:

var monthLocalizedString = function(month, locale) {
    return new Date(2010,month).toLocaleString(locale,{month:"long"});
};

ব্যবহার:

console.log(monthLocalizedString(1, 'en')); // -> February
console.log(monthLocalizedString(1, 'bg')); // -> февруари
console.log(monthLocalizedString(1, 'de')); // -> Februar

পরীক্ষিত এবং ক্রোম এবং আইই ১১ তে সূক্ষ্মভাবে কাজ করে mo


এটি এখনও নিরাপদে কাজ করবে না। কারণtoLocaleString
সের্গেই পানফিলভ

8

দুর্ভাগ্যক্রমে মাসের নাম আহরণের সর্বোত্তম উপায়টি ইউটিসি স্ট্রিং প্রতিনিধিত্ব থেকে:

Date.prototype.monthName = function() {
    return this.toUTCString().split(' ')[2]
};

d = new Date();
//=> Thu Mar 06 2014 23:05:21 GMT+0000 (GMT)

d.monthName();
//=> 'Mar'

8

সমস্ত মাসের নাম ধারণ করে এবং তারপরে একটি সূচীটি নির্দেশ করে তার পরিবর্তে অ্যারে ঘোষণা করার পরিবর্তে, আমরা এটি নীচে হিসাবে একটি সংক্ষিপ্ত সংস্করণেও লিখতে পারি:

var objDate = new Date().toLocaleString("en-us", { month: "long" }); // result: August
var objDate = new Date().toLocaleString("en-us", { month: "short" }); // result: Aug

দয়া করে নোট করুন যে এটি ব্রাউজারগুলিতে নির্ভরযোগ্যভাবে কাজ করে না ... সাফারি (মোবাইল এবং ডেস্কটপ) এরকম কিছু আউটপুট দেবে: MAY 1, 2015 AT 12:00:00 AM GMT-4( { month: "long" }প্যারামিটারগুলি ব্যবহার করার সময় )
ডেভিড এম

1
আপনি ডিফল্ট ব্যবহার করেও পেতে পারেনnew Date().toLocaleString(navigator.language, { month: "short" })
রেমো এইচ। জ্যানসেন


7

এই দিনটির প্রাকৃতিক ফর্ম্যাটটি হল মোমেন্ট.জে ব্যবহার করা।

মাসটি স্ট্রিং ফর্ম্যাটে পাওয়ার উপায়টি খুব সহজ মোমেন্ট.জে আপনার কোডে মাসের নামগুলি হার্ড কোড করার দরকার নেই: বর্তমান নাম এবং মাসের নামের ফর্ম্যাট এবং পুরো বছর (মে ২০১৫) এ মাসটি পেতে:

  moment(new Date).format("MMMM YYYY");

অন্যান্য উদ্দেশ্যে ইতিমধ্যে ইনস্টল করা মুহুর্তের সাথে, এটি সহজ সমাধান।
সিএফপি সমর্থন

1
মুহুর্তটি একটি খুব বড় লাইব্রেরি এবং এর জন্য ওভারকিল। আধুনিক বিকল্পগুলি অন্তর্ভুক্ত করে Luxonএবং date-fnsতবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে
ড্যান ড্যাসক্লেস্কু

7

তারিখ ফর্ম্যাট করার অন্য উপায়

new Date().toLocaleString('en-us',{month:'long', year:'numeric', day:'numeric'}) //output: "May 21, 2019"

6

আপনি বেশ কয়েকটি উপলভ্য তারিখ বিন্যাসগুলির একটি ব্যবহার করতে পারেন। যেহেতু এটি জাভাস্ক্রিপ্টের নির্দিষ্টকরণের মধ্যে পড়ে তাই এটি ব্রাউজার এবং সার্ভার-সাইড উভয় মোডে উপলব্ধ।

objDate.toString().split(" ")[1]; // gives short name, unsure about locale 
objDate.toLocaleDateString.split(" ")[0]; // gives long name

যেমন

js> objDate = new Date(new Date() - 9876543210)
Mon Feb 04 2013 12:37:09 GMT-0800 (PST)
js> objDate.toString().split(" ")[1]
Feb
js> objDate.toLocaleString().split(" ")[0]
February

Https://developer.mozilla.org/en-US/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / তারিখটিতে আরও রয়েছে


4

আপনি যদি কোনও বাহ্যিক গ্রন্থাগার ব্যবহার করতে না চান, বা মাসের নামের একটি অ্যারে সঞ্চয় করতে না চান বা ব্রাউজারের সামঞ্জস্যের কারণে যদি ECMAScript আন্তর্জাতিকীকরণ API যথেষ্ট পরিমাণে ভাল না হয় আপনি সর্বদা এটি থেকে তথ্য বের করে পুরানো পদ্ধতিতে করতে পারেন তারিখ আউটপুট:

var now = new Date();
var monthAbbrvName = now.toDateString().substring(4, 7);

এই আপনি সংক্ষিপ্ত মাস নাম দিতে হবে, যেমন অক্টোবর আমি বিশ্বাস করি তারিখ আরম্ভের উপর নির্ভর করে ফরম্যাটের সমস্ত প্রকারের আসবে এবং আপনার লোকেল তাই কি কটাক্ষপাত করা toDateString()আয় এবং আপনার পুনঃগণনা substring()উপর ভিত্তি মান।


3

আপনি যদি jQuery ব্যবহার করেন তবে আপনি সম্ভবত jQuery ইউআইও ব্যবহার করছেন, যার অর্থ আপনি $ .datepicker.formatDate () ব্যবহার করতে পারেন ।

$.datepicker.setDefaults( $.datepicker.regional[ "nl" ] );   // dutch
$.datepicker.formatDate( "dd MM yy", objDate );

3

আমার সেরা সমাধানটি নিম্নরূপ:

       var dateValue = Date();
       var month = dateValue.substring(4,7);
       var date = dateValue.substring(8,10);
       var year = dateValue.substring(20,24);
       var finaldateString = date+"-"+month+"-"+year;

আমার কাছে এটি খুব কৃপণ বলে মনে হচ্ছে ... এবং এটি ওপি-র প্রশ্নের সত্যই উত্তর দেয় না
ডেভিড এম

1
কী এটি আপনার "সেরা সমাধান" করে তোলে?
ড্যান ড্যাসক্লেস্কু

3

সঙ্গে momentjs শুধু ব্যবহার বিন্যাস স্বরলিপি।

const myDate = new Date()
const shortMonthName = moment(myDate).format('MMM') // Aug
const fullMonthName = moment(myDate).format('MMMM') // August

1
এই উত্তরটি ইতিমধ্যে 2 বার দেওয়া হয়েছে, momentএটি একটি খুব বড় লাইব্রেরি এবং এর জন্য ওভারকিল। আধুনিক বিকল্পগুলি অন্তর্ভুক্ত করে Luxonএবং date-fnsতবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে
ড্যান ড্যাসক্লেস্কু

3

আপনি কেন্দো ব্যবহার করছেন এমনটিও করা যেতে পারে।

kendo.toString(dateobject, "MMMM");

এখানে কেন্দো সাইট থেকে বিন্যাসের তালিকা রয়েছে :

"d" মাসের দিনটিকে 1 থেকে 31 পর্যন্ত রেন্ডার করে।

"ডিডি" মাসের দিন, ২০১১ থেকে ৩১ পর্যন্ত।

"ddd" সপ্তাহের দিনের সংক্ষিপ্ত নাম।

"ডিডিডিডি" সপ্তাহের পুরো নাম।

"চ" একটি তারিখ এবং সময় মানের সেকেন্ডের দশমী।

"এফএফ" একটি তারিখ এবং সময় মানের সেকেন্ডের শততম।

"fff" একটি তারিখ এবং সময় মান মিলি সেকেন্ড।

"এম" মাস, 1 থেকে 12 পর্যন্ত।

"এমএম" মাস, 01 থেকে 12 এর মধ্যে।

"এমএমএম" মাসের সংক্ষিপ্ত নাম।

"এমএমএমএম" মাসের পুরো নাম।

"এইচ" ঘন্টা, 1 থেকে 12 পর্যন্ত 12-ঘন্টা ঘড়ি ব্যবহার করে।

"এইচএইচ" ঘন্টা, 01 থেকে 12 অবধি 12-ঘন্টা ঘড়ি ব্যবহার করে।

"এইচ" ঘন্টা, 1 থেকে 23 পর্যন্ত 24 ঘন্টা একটি ঘড়ি ব্যবহার করে।

"এইচ এইচ" ঘন্টা, 01 থেকে 23 অবধি 24 ঘন্টা একটি ঘড়ি ব্যবহার করে।

"মি" মিনিট, 0 থেকে 59 পর্যন্ত।

"মিমি" মিনিট থেকে, 00 থেকে 59 পর্যন্ত।

"এস" দ্বিতীয়, 0 থেকে 59 পর্যন্ত।

"এসএস" দ্বিতীয়টি, 00 থেকে 59 পর্যন্ত।

"টিটি" এএম / প্রধানমন্ত্রী ডিজাইনার।

"yy" বছরের মূল্য থেকে শেষ দুটি অক্ষর।

"হ্যাঁ" বছর পূর্ণ মান।

"zzz" ইউটিসি তারিখের স্ট্রিংগুলি পার্স করার জন্য ফর্ম্যাটগুলি ব্যবহার করার সময় স্থানীয় সময় অঞ্চল।


3

আপনি কেবলমাত্র ডেট. টু লোক্যালডেট স্ট্রিং () ব্যবহার করতে পারেন এবং প্যারামিটার হিসাবে চেয়ে থাকা তারিখটিকে পার্স করতে পারেন

const event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

const options = {  year: 'numeric', month: 'short', day: 'numeric' };

console.log(event.toLocaleDateString('de-DE', options));
// expected output: Donnerstag, 20. Dezember 2012

console.log(event.toLocaleDateString('en-US', options));
// US format 


// In case you only want the month
console.log(event.toLocaleDateString(undefined, { month: 'short'}));
console.log(event.toLocaleDateString(undefined, { month: 'long'}));

আপনি ফায়ারফক্স ডকুমেন্টেশন আরও তথ্য পেতে পারেন


2

আপনি যদি মুহূর্তটি ব্যবহার করতে না চান এবং মাসের নামটি প্রদর্শন করতে চান -

.config($mdDateLocaleProvider) {
    $mdDateLocaleProvider.formatDate = function(date) {      
      if(date !== null) {
        if(date.getMonthName == undefined) {
          date.getMonthName = function() {
            var monthNames = [ "January", "February", "March", "April", "May", "June", 
            "July", "August", "September", "October", "November", "December" ];
            return monthNames[this.getMonth()];
          }
        }        
        var day = date.getDate();
        var monthIndex = date.getMonth();
        var year = date.getFullYear();
        return day + ' ' + date.getMonthName() + ' ' + year;
      }
    };
  }

2

আমার জন্য এটি সবচেয়ে ভাল সমাধান হ'ল

টাইপস্ক্রিপ্ট জন্য

const env = process.env.REACT_APP_LOCALE || 'en';

const namedMonthsArray = (index?: number): string[] | string => {
  const months = [];

  for (let month = 0; month <= 11; month++) {
    months.push(
      new Date(new Date('1970-01-01').setMonth(month))
        .toLocaleString(env, {
          month: 'long',
        })
        .toString(),
    );
  }
  if (index) {
    return months[index];
  }
  return months;
};

আউটপুট হয়

["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

1

নামগুলি একটি অ্যারেতে সঞ্চয় করুন এবং মাসের সূচীটি দেখুন।

var month=new Array(12);
month[0]="January";
month[1]="February";
month[2]="March";
month[3]="April";
month[4]="May";
month[5]="June";
month[6]="July";
month[7]="August";
month[8]="September";
month[9]="October";
month[10]="November";
month[11]="December";

document.write("The current month is " + month[d.getMonth()]);

জাভাস্ক্রিপ্ট getMonth () পদ্ধতি


22
না কেন var month = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];? এগুলি স্বতন্ত্রভাবে যুক্ত করার চেয়ে ছোট ...
ফিজিক্স

1

আমার একটি আংশিক সমাধান রয়েছে যা আমি এনেছি। এটি মাস এবং দিনের নামটি নিষ্কাশন করতে একটি নিয়মিত প্রকাশ করে। তবে আমি অঞ্চল এবং ভাষা বিকল্পগুলির (উইন্ডোজ) সন্ধান করার পরে আমি বুঝতে পারি যে বিভিন্ন সংস্কৃতির বিভিন্ন ফর্ম্যাট ক্রম রয়েছে ... সম্ভবত আরও ভাল নিয়মিত প্রকাশের প্যাটার্ন কার্যকর হতে পারে।

function testDateInfo() {
        var months = new Array();
        var days = new Array();
        var workingDate = new Date();
        workingDate.setHours(0, 0, 0, 0);
        workingDate.setDate(1);
        var RE = new RegExp("([a-z]+)","ig");
        //-- get day names 0-6
        for (var i = 0; i < 7; i++) {

            var day = workingDate.getDay();
            //-- will eventually be in order
            if (days[day] == undefined)
                days[day] = workingDate.toLocaleDateString().match(RE)[0];
            workingDate.setDate(workingDate.getDate() + 1);
        }
        //--get month names 0-11
        for (var i = 0; i < 12; i++) {
            workingDate.setMonth(i);
            months.push(workingDate.toLocaleDateString().match(RE)[1]);
        }
        alert(days.join(",") + " \n\r " + months.join(","));
    }

সুতরাং, সর্বনিম্নভাবে এটি ইংরেজি এবং স্প্যানিশ নিয়ে কাজ করে ... আইডি এর সন্দেহজনক কিছু যা DAY, মাসের তারিখ, বছরের ফর্ম্যাট
রিমাস

আমি এটি কিছুটা দেখেছি, আমি মনে করি একটি সত্যিকারের ভাষা স্বাধীন সমাধান পেতে আপনার ইউনিকোড চরিত্রের ব্যাপ্তি ব্যবহার করার জন্য একটি নিয়মিত অভিব্যক্তি থাকা দরকার। বিভিন্ন বর্ণমালাগুলির জন্য চরিত্রের ব্যাপ্তি পৃথক হবে তাই আমি মনে করি না যে আমাদের ব্যবহার করতে পারার সব RegExp এর সাথে একটি আকার মাপসই হবে।
রিমাস

0

কেবলমাত্র আরও অনেক দুর্দান্ত উত্তরের উপর প্রসারিত করা - আপনি যদি jQuery ব্যবহার করেন - আপনি ঠিক এর মতো কিছু করতে পারেন

$.fn.getMonthName = function(date) {

    var monthNames = [
    "January", "February", "March",
    "April", "May", "June",
    "July", "August", "September",
    "October", "November", "December"
    ];

    return monthNames[date.getMonth()];

};

যেখানে dateসমান var d = new Date(somevalue)। এর প্রাথমিক সুবিধাটি হ'ল বিশ্বখ্যাত নেমস্পেস এড়ানো সম্পর্কে @ নিকফ বলেছেন said


0

মাসের নামের একটি অ্যারে পেতে:

Date.monthNames = function( ) {
var arrMonth = [],
    dateRef = new Date(),
    year = dateRef.getFullYear();

dateRef.setMonth(0);
while (year == dateRef.getFullYear()) {
    /* push le mois en lettre et passe au mois suivant */
    arrMonth.push( (dateRef.toLocaleString().split(' '))[2] );
    dateRef.setMonth( dateRef.getMonth() + 1);
}

return arrMonth;
}

alert(Date.monthNames().toString());

// -> janvier,février,mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,décembre

http://jsfiddle.net/polinux/qb346/


0

চারপাশে একটি সাধারণ মোড়ক লিখুন toLocaleString:

function LocalDate(locale) {
  this.locale = locale;
}

LocalDate.prototype.getMonthName = function(date) {
  return date.toLocaleString(this.locale,{month:"long"});
};

var objDate = new Date("10/11/2009");

var localDate = new LocalDate("en");
console.log(localDate.getMonthName(objDate));

localDate.locale = "ru";
console.log(localDate.getMonthName(objDate));

localDate.locale = "zh";
console.log(localDate.getMonthName(objDate));


0

আমি ব্যবহৃত একটি দ্রুত হ্যাক যা ভাল কাজ করে:

const monthNumber = 8;
const yearNumber = 2018;
const date = `${['Jan', 'Feb', 'Mar', 'Apr',
  'May', 'Jun', 'Jul', 'Aug',
  'Sep', 'Oct', 'Nov', 'Dec'][monthNumber - 1]
      } ${yearNumber}`;

console.log(date);

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