উত্তর:
সংক্ষিপ্ত সংস্করণ:
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) - আমার উত্তরটি যা আমি ২০০৯ সালে মূলত লিখেছিলাম তা পুরানো। আরও ভাল সমাধানের জন্য ডেভিড স্টোরীর উত্তর দেখুন ।
new Date()
আসার Tue Sep 06 2011 20:02:25 GMT+0200 (CEST)
অর্থ যা স্পষ্টভাবে বোঝায় যে ডেট অবজেক্টটি ইতিমধ্যে এই সমস্ত অভ্যন্তরীণভাবে সংজ্ঞায়িত হয়েছে (মাস এবং সপ্তাহের দিনের নাম) এটি সর্বজনীন নয়, সুতরাং আমাদের আবার এটি টাইপ করতে হবে। :(
String#split
সাথে toString
বা ব্যবহারের আরও ভাল উপায় হতে পারে toDateString
।
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'
), এবং এটি সেই ভাষা / দেশের জন্য সঠিক নাম ব্যবহার করবে।
সঙ্গে toLocaleString
API আপনি লোকেল এবং বিকল্প প্রতিটি সময় পাস করতে হবে। আপনি যদি একাধিক বিভিন্ন তারিখে একই স্থানীয় তথ্য এবং ফর্ম্যাটিং বিকল্পগুলি ব্যবহার করতে যাচ্ছেন তবে আপনি 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".
আরও তথ্যের জন্য আন্তর্জাতিকীকরণ এপিআইতে আমার ব্লগ পোস্টটি দেখুন ।
স্থানীয়করণের সহায়তায় আরও একটি এখানে রয়েছে :)
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: [...]};
Date.locale
হয় undefined
। এটি অন্য জেএস বাস্তবায়নের জন্য যদিও দুর্দান্ত উত্তর!
আপনি যদি তারিখের প্রোটোটাইপটি প্রসারিত করতে আপত্তি করেন না (এবং এটি না করতে কিছু ভাল কারণ রয়েছে) তবে আপনি আসলে খুব সহজ পদ্ধতিটি নিয়ে আসতে পারেন:
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"
এই ফাংশনগুলি তখন সমস্ত জাভাস্ক্রিপ্টের তারিখের অবজেক্টগুলিতে প্রযোজ্য ।
আমি মুহুর্ত.জে 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় সমর্থন রয়েছে ।
Luxon
এবং date-fns
তবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে ।
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();
তারিখ অবজেক্ট থেকে কিছু সাধারণ সহজ প্রক্রিয়া এটি দ্বারা করা যেতে পারে।
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
এটি করতে আপনি ডেটজে ব্যবহার করতে পারেন । ফর্ম্যাটস্পিফায়ারগুলি পরীক্ষা করুন, এমএমএমএম আপনাকে মাসের নাম দেয়:
var objDate = new Date("10/11/2009");
document.write(objDate.toString("MMMM"));
এবং ডেটজেসগুলি সেখানকার 150 টিরও বেশি লোকেলের জন্য স্থানীয়করণ পেয়েছে! এখানে দেখো
চেষ্টা করুন:
var objDate = new Date("10/11/2009");
var strDate =
objDate.toLocaleString("en", { day: "numeric" }) + ' ' +
objDate.toLocaleString("en", { month: "long" }) + ' ' +
objDate.toLocaleString("en", { year: "numeric"});
এখানে এমন একটি উপায় যা হার্ড কোডিং অ্যারে নির্ভর করে না এবং একাধিক লোকেল সমর্থন করে।
আপনার যদি পুরো অ্যারে দরকার হয়:
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
দুর্ভাগ্যক্রমে মাসের নাম আহরণের সর্বোত্তম উপায়টি ইউটিসি স্ট্রিং প্রতিনিধিত্ব থেকে:
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'
সমস্ত মাসের নাম ধারণ করে এবং তারপরে একটি সূচীটি নির্দেশ করে তার পরিবর্তে অ্যারে ঘোষণা করার পরিবর্তে, আমরা এটি নীচে হিসাবে একটি সংক্ষিপ্ত সংস্করণেও লিখতে পারি:
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" }
প্যারামিটারগুলি ব্যবহার করার সময় )
new Date().toLocaleString(navigator.language, { month: "short" })
document.write(new Date().toLocaleString('en-us',{month:'long', year:'numeric', day:'numeric'}))
এই দিনটির প্রাকৃতিক ফর্ম্যাটটি হল মোমেন্ট.জে ব্যবহার করা।
মাসটি স্ট্রিং ফর্ম্যাটে পাওয়ার উপায়টি খুব সহজ মোমেন্ট.জে আপনার কোডে মাসের নামগুলি হার্ড কোড করার দরকার নেই: বর্তমান নাম এবং মাসের নামের ফর্ম্যাট এবং পুরো বছর (মে ২০১৫) এ মাসটি পেতে:
moment(new Date).format("MMMM YYYY");
Luxon
এবং date-fns
তবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে ।
তারিখ ফর্ম্যাট করার অন্য উপায়
new Date().toLocaleString('en-us',{month:'long', year:'numeric', day:'numeric'}) //output: "May 21, 2019"
আপনি বেশ কয়েকটি উপলভ্য তারিখ বিন্যাসগুলির একটি ব্যবহার করতে পারেন। যেহেতু এটি জাভাস্ক্রিপ্টের নির্দিষ্টকরণের মধ্যে পড়ে তাই এটি ব্রাউজার এবং সার্ভার-সাইড উভয় মোডে উপলব্ধ।
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/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / তারিখটিতে আরও রয়েছে
আপনি যদি কোনও বাহ্যিক গ্রন্থাগার ব্যবহার করতে না চান, বা মাসের নামের একটি অ্যারে সঞ্চয় করতে না চান বা ব্রাউজারের সামঞ্জস্যের কারণে যদি ECMAScript আন্তর্জাতিকীকরণ API যথেষ্ট পরিমাণে ভাল না হয় আপনি সর্বদা এটি থেকে তথ্য বের করে পুরানো পদ্ধতিতে করতে পারেন তারিখ আউটপুট:
var now = new Date();
var monthAbbrvName = now.toDateString().substring(4, 7);
এই আপনি সংক্ষিপ্ত মাস নাম দিতে হবে, যেমন অক্টোবর আমি বিশ্বাস করি তারিখ আরম্ভের উপর নির্ভর করে ফরম্যাটের সমস্ত প্রকারের আসবে এবং আপনার লোকেল তাই কি কটাক্ষপাত করা toDateString()
আয় এবং আপনার পুনঃগণনা substring()
উপর ভিত্তি মান।
আপনি যদি jQuery ব্যবহার করেন তবে আপনি সম্ভবত jQuery ইউআইও ব্যবহার করছেন, যার অর্থ আপনি $ .datepicker.formatDate () ব্যবহার করতে পারেন ।
$.datepicker.setDefaults( $.datepicker.regional[ "nl" ] ); // dutch
$.datepicker.formatDate( "dd MM yy", objDate );
আমার সেরা সমাধানটি নিম্নরূপ:
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;
সঙ্গে momentjs শুধু ব্যবহার বিন্যাস স্বরলিপি।
const myDate = new Date()
const shortMonthName = moment(myDate).format('MMM') // Aug
const fullMonthName = moment(myDate).format('MMMM') // August
moment
এটি একটি খুব বড় লাইব্রেরি এবং এর জন্য ওভারকিল। আধুনিক বিকল্পগুলি অন্তর্ভুক্ত করে Luxon
এবং date-fns
তবে আবার আজকাল আন্তর্জাতিকীকরণ এপিআই-র জন্য প্রশস্ত ব্রাউজার সমর্থন রয়েছে ।
আপনি কেন্দো ব্যবহার করছেন এমনটিও করা যেতে পারে।
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" ইউটিসি তারিখের স্ট্রিংগুলি পার্স করার জন্য ফর্ম্যাটগুলি ব্যবহার করার সময় স্থানীয় সময় অঞ্চল।
আপনি কেবলমাত্র ডেট. টু লোক্যালডেট স্ট্রিং () ব্যবহার করতে পারেন এবং প্যারামিটার হিসাবে চেয়ে থাকা তারিখটিকে পার্স করতে পারেন
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'}));
আপনি ফায়ারফক্স ডকুমেন্টেশন আরও তথ্য পেতে পারেন
আপনি যদি মুহূর্তটি ব্যবহার করতে না চান এবং মাসের নামটি প্রদর্শন করতে চান -
.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;
}
};
}
আমার জন্য এটি সবচেয়ে ভাল সমাধান হ'ল
টাইপস্ক্রিপ্ট জন্য
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"]
নামগুলি একটি অ্যারেতে সঞ্চয় করুন এবং মাসের সূচীটি দেখুন।
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()]);
var month = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
? এগুলি স্বতন্ত্রভাবে যুক্ত করার চেয়ে ছোট ...
আমার একটি আংশিক সমাধান রয়েছে যা আমি এনেছি। এটি মাস এবং দিনের নামটি নিষ্কাশন করতে একটি নিয়মিত প্রকাশ করে। তবে আমি অঞ্চল এবং ভাষা বিকল্পগুলির (উইন্ডোজ) সন্ধান করার পরে আমি বুঝতে পারি যে বিভিন্ন সংস্কৃতির বিভিন্ন ফর্ম্যাট ক্রম রয়েছে ... সম্ভবত আরও ভাল নিয়মিত প্রকাশের প্যাটার্ন কার্যকর হতে পারে।
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(","));
}
কেবলমাত্র আরও অনেক দুর্দান্ত উত্তরের উপর প্রসারিত করা - আপনি যদি 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
মাসের নামের একটি অ্যারে পেতে:
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
চারপাশে একটি সাধারণ মোড়ক লিখুন 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));
আমি ব্যবহৃত একটি দ্রুত হ্যাক যা ভাল কাজ করে:
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);