সপ্তাহের দিন এবং বছরের মাস কীভাবে পাবেন?


124

আমি জাভাস্ক্রিপ্ট সম্পর্কে খুব বেশি জানি না এবং আমি যে অন্যান্য প্রশ্নগুলি পেয়েছি সেগুলি খেজুরগুলির ক্রিয়াকলাপ সম্পর্কিত, কেবল আমার প্রয়োজন হিসাবে তথ্য পাচ্ছে না।

উদ্দেশ্য

আমি নীচে-ফর্ম্যাট হিসাবে তারিখটি পেতে চাই:

বৃহস্পতিবার, 27 জানুয়ারী 2011 এ 17:42:21 এ মুদ্রিত

এখনও অবধি, আমি নিম্নলিখিত পেয়েছি:

var now = new Date();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();

h = checkTime(h);
m = checkTime(m);
s = checkTime(s);

var prnDt = "Printed on Thursday, " + now.getDate() + " January " + now.getFullYear() + " at " + h + ":" + m + ":" s;

আমার এখন সপ্তাহের দিন এবং বছরের মাস (তাদের নাম) কীভাবে পাবেন তা জানতে হবে।

সেখানে এটি তৈরি করতে এটি একটি সহজ উপায়, অথবা আমি কোথায় আমি কেবল ডান মান সূচক ব্যবহার করবে অ্যারে ব্যবহারের বিষয়ে বিবেচনা করবে now.getMonth()এবং now.getDay()?

উত্তর:


233

হ্যাঁ, আপনার অ্যারে লাগবে।

var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];

var day = days[ now.getDay() ];
var month = months[ now.getMonth() ];

অথবা আপনি ডেট.জেএস লাইব্রেরি ব্যবহার করতে পারেন ।


সম্পাদনা করুন:

আপনি যদি এটি ঘন ঘন ব্যবহার করতে চলেছেন তবে আপনি Date.prototypeঅ্যাক্সেসযোগ্যতার জন্য প্রসারিত করতে চাইতে পারেন ।

(function() {
    var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];

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

    Date.prototype.getMonthName = function() {
        return months[ this.getMonth() ];
    };
    Date.prototype.getDayName = function() {
        return days[ this.getDay() ];
    };
})();

var now = new Date();

var day = now.getDayName();
var month = now.getMonthName();

2
@ উইল: আপনাকে স্বাগতম এফওয়াইআই, আপনি যদি ঘন ঘন এটি করে চলেছেন তবে আপনি সহজেই Dateবস্তুটির কার্যকারিতা প্রোটোটাইপ করতে পারেন । আমি এক মিনিটের মধ্যে আপডেট করব।
ব্যবহারকারী 113716

3
আপনার ডেটা স্থানীয়করণ করুন এবং কেবলমাত্র একটি ভাষা-ভাষা অ্যারের প্রয়োজন নেই! নির্বাচিতলোকেল = 'এন-ইউএস'; নির্বাচিত তারিখ.টোলোক্যালস্ট্রিং (নির্বাচিতলোক্যাল, {মাস: "দীর্ঘ"});
রায়ান লজিগ্রিথম

আমি এখনই এটি করেছি তবে সোমবার অ্যারেতে প্রথম উপাদান হিসাবে ব্যবহার করতে হয়েছিল, রবিবার নয়। তবুও, দুর্দান্ত কাজ করে।
শ্রদ্ধেয়

4
না না না না. শুধু স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট তারিখ শ্রেণি ব্যবহার করুন। অ্যারে বা কোনও অতিরিক্ত গ্রন্থাগারের দরকার নেই। আমার উত্তর দেখুন: স্ট্যাকওভারফ্লো.
com

52

স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট তারিখ শ্রেণি ব্যবহার করুন। অ্যারের দরকার নেই। অতিরিক্ত গ্রন্থাগারের দরকার নেই।

Https://developer.mozilla.org/en/docs/Web/JavaScript/ উল্লেখ / গ্লোবাল_অবজেক্টস / তারিখ / ToLocaleDateString দেখুন

var options = {  weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false };
var prnDt = 'Printed on ' + new Date().toLocaleTimeString('en-us', options);

console.log(prnDt);


@ আরডাব্লুসি এটি দুর্দান্ত, তবে আমি কীভাবে কেবল সপ্তাহের দিনটি বাকি তারিখের অংশটি না নিয়েই পরিচালনা করব? IE এর saturdayপরিবর্তে চাই saturday, 9th february 2019
ভ্লাদিমির নুল

4
@ ভালডিমির নুল: var prnDt = 'মুদ্রিত' + + নতুন তারিখ ()। ToLocaleDateString ('এন-আমাদের', {সপ্তাহের দিন: 'দীর্ঘ'}); console.log (prnDt);
আরডাব্লুসি

এটি করার জন্য অবশ্যই সর্বোত্তম উপায়।
দিয়েগো ভিক্টর ডি যিশু

@ ভ্লাদিমির ফায়ারফক্সের সাথে একটি সমস্যা রয়েছে, সময় সর্বদা প্রদর্শিত হয়, তারপরে:new Date().toLocaleTimeString(language, { weekday: 'long'}).split(' ')[0]
ব্রুনো এল

8

আপনি যা করতে পারেন তা হ'ল সপ্তাহের দিনটি ফিরিয়ে দেওয়ার জন্য তারিখ অবজেক্টটি প্রসারিত করুন:

Date.prototype.getWeekDay = function() {
    var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    return weekday[this.getDay()];
}

সুতরাং, আপনি কেবল কল করতে পারেন ডেট.জেটউইকডে ();


7

হিসাবে @ এল-রে ইতিমধ্যে সুপারিশ করেছে, আপনি মধ্যে সন্ধান করতে পারেন moment.js পাশাপাশি

নমুনা

var today = moment();
var result = {
  day: today.format("dddd"),
  month: today.format("MMM")
}

document.write("<pre>" + JSON.stringify(result,0,4) + "</pre>");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>


5

দুর্ভাগ্যক্রমে, Dateজাভাস্ক্রিপ্টে থাকা অবজেক্টগুলি কয়েক মাসের তথ্য কেবল সংখ্যাগত ফর্ম্যাটে ফেরত দেয়। আপনি যে দ্রুত কাজ করতে পারেন তা হ'ল কয়েক মাসের অ্যারে তৈরি করা (তাদের ঘন ঘন পরিবর্তন হওয়ার কথা নয়!) এবং এমন একটি ফাংশন তৈরি করুন যা সংখ্যার ভিত্তিতে নামটি ফিরিয়ে দেয়।

এটার মতো কিছু:

function getMonthNameByMonthNumber(mm) { 
   var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 

   return months[mm]; 
}

আপনার কোড তাই হয়ে যায়:

var prnDt = "Printed on Thursday, " + now.getDate() + " " + getMonthNameByMonthNumber(now.getMonth) + " "+  now.getFullYear() + " at " + h + ":" + m + ":" s;

5
var GetWeekDays = function (format) {
    var weekDays = {};

    var curDate = new Date();
    for (var i = 0; i < 7; ++i) {
        weekDays[curDate.getDay()] = curDate.toLocaleDateString('ru-RU', {
            weekday: format ? format : 'short'
        });

        curDate.setDate(curDate.getDate() + 1);
    }

    return weekDays;
};

me.GetMonthNames = function (format) {
    var monthNames = {};

    var curDate = new Date();
    for (var i = 0; i < 12; ++i) {
        monthNames[curDate.getMonth()] = curDate.toLocaleDateString('ru-RU', {
            month: format ? format : 'long'
        });

        curDate.setMonth(curDate.getMonth() + 1);
    }

    return monthNames;
};

রু-আরইউ হ'ল এন-ইউএস (আমেরিকান ইংরাজির জন্য) বা এন-জিবি (ব্রিটিশ ইংরেজির জন্য)।
সারাহ


3

Https://developer.mozilla.org/en-US/docs/Web/JavaScript/ উল্লেখ / গ্লোবাল_অবজেক্টস / তারিখ / টো লোকালডেট স্ট্রিং থেকে

ToLocaleDateString () পদ্ধতি এই তারিখের তারিখ অংশ একটি ভাষা সংবেদনশীল উপস্থাপনা সঙ্গে একটি স্ট্রিং ফেরৎ। নতুন লোকেল এবং বিকল্পের আর্গুমেন্টগুলি অ্যাপ্লিকেশনগুলিকে ভাষা নির্দিষ্ট করতে দেয় যার বিন্যাসের কনভেনশনগুলি ব্যবহার করা উচিত এবং ফাংশনের আচরণটি কাস্টমাইজ করার অনুমতি দেয়। পুরানো বাস্তবায়নে, যা লোকেল এবং বিকল্পের যুক্তিগুলিকে উপেক্ষা করে, ব্যবহৃত লোকেল এবং স্ট্রিংয়ের ফর্মটি সম্পূর্ণরূপে নির্ভরশীল।

দীর্ঘ ফর্ম:

const options = { weekday: 'long' };
const date = new Date();
console.log(date.toLocaleDateString('en-US', options));

এক রৈখিক:

console.log(new Date().toLocaleDateString('en-US', { weekday: 'long' }));

দ্রষ্টব্য: স্থানীয় লোকের জন্য অন্য ভাষার বিকল্প রয়েছে, তবে এখানে ইউএস ইংরাজির জন্য উপস্থাপিত একটি


2

আপনি তারিখগুলি দেখতে পারেন যা উদাহরণস্বরূপ স্থানীয়করণের তারিখ আউটপুটকে বিশ্লেষণ করে।

ফর্ম্যাটিংটি আপনার উদাহরণে এটির মতো দেখাতে পারে:

new Date().toString('dddd, d MMMM yyyy at HH:mm:ss') 

1

এটা সহজ। নামগুলি পেতে আপনি কেবলমাত্র লোকালডেটস্ট্রিং () এ সপ্তাহের দিন প্রদর্শনের বিকল্প সেট করতে পারেন। উদাহরণ স্বরূপ:

(নতুন তারিখ ()) থেকে লোকালডেটস্ট্রিং ('en-US', {সপ্তাহের দিন: 'দীর্ঘ'}) কেবল সপ্তাহের দিনই ফিরে আসবে। এবং (নতুন তারিখ ()) থেকে লোকালডেটস্ট্রিং ('en-US', {মাস: 'দীর্ঘ'}) বছরের কেবলমাত্র মাসে ফিরে আসবে।


0
  function currentDate() {
      var monthNames = [ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE",
                     "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" ];
      var days = ['SUNDAY','MONDAY','TUESDAY','WEDNESDAY','THURSDAY','FRIDAY','SATURDAY'];                       
      var today = new Date();
      var dd   = today.getDate();
      var mm   = monthNames[today.getMonth()]; 
      var yyyy = today.getFullYear();
      var day  = days[today.getDay()];
      today = 'Date is :' + dd + '-' + mm + '-' + yyyy;
      document.write(today +"<br>");
      document.write('Day is : ' + day );
  }
  currentDate();

-1

তারিখ = ডকুমেন্ট.উইটার (তারিখ ()) লিখুন;


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