আমি জাভাস্ক্রিপ্টে একটি তারিখ ফর্ম্যাট করার ডকুমেন্টেশন কোথায় পেতে পারি? [বন্ধ]


1397

আমি লক্ষ্য করেছি যে জাভাস্ক্রিপ্টের new Date()ফাংশনটি বেশ কয়েকটি ফরম্যাটে তারিখ গ্রহণে খুব স্মার্ট।

Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")

new Date()ফাংশন কল করার সময় আমি সমস্ত বৈধ স্ট্রিং ফর্ম্যাটগুলি দেখিয়ে ডকুমেন্টেশন পাইনি ।

এটি স্ট্রিংকে তারিখে রূপান্তর করার জন্য। যদি আমরা বিপরীত দিকটি দেখি, অর্থাত্ একটি তারিখের অবজেক্টটিকে একটি স্ট্রিংয়ে রূপান্তর করা, এখন অবধি আমি এই ধারণাটির মধ্যে ছিলাম যে জাভাস্ক্রিপ্টের কোনও তারিখ অবজেক্টকে স্ট্রিংয়ে ফর্ম্যাট করার জন্য অন্তর্নির্মিত এপিআই নেই।

সম্পাদকের দ্রষ্টব্য: নিম্নলিখিত পদ্ধতির অনুরোধকারীর প্রচেষ্টা যা একটি নির্দিষ্ট ব্রাউজারে কাজ করে তবে সাধারণভাবে কাজ করে না ; কিছু প্রকৃত সমাধান দেখতে এই পৃষ্ঠায় উত্তরগুলি দেখুন।

আজ, আমি toString()তারিখের অবজেক্টে পদ্ধতিটি নিয়ে খেলেছি এবং আশ্চর্যরূপে এটি তারিখকে স্ট্রিংয়ে ফর্ম্যাট করার উদ্দেশ্যে কাজ করে।

var d1 = new Date();
d1.toString('yyyy-MM-dd');       //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy')  //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome

এছাড়াও এখানে আমি তারিখের অবজেক্টটিকে স্ট্রিংয়ে ফর্ম্যাট করতে পারি সেই সমস্ত উপায়ে কোনও ডকুমেন্টেশন খুঁজে পাইনি।

Date()অবজেক্ট দ্বারা সমর্থিত ফর্ম্যাট স্পেসিফায়ার তালিকাভুক্ত ডকুমেন্টেশনটি কোথায় ?


164
আপনার উদাহরণগুলি বাস্তবে আপনি যেভাবে ভাবেন সেভাবে কাজ করে না: jsfiddle.net/edelman/WDNVk/1
জেসন

27
দুঃখিত, টোস্ট্রিংয়ে ফর্ম্যাট স্ট্রিংগুলি পাস করে। নেট, এবং এটি জাভাতে কাজ করতে পারে তবে জেসন উল্লেখ করেছেন যে এটি আসলে জাভাস্ক্রিপ্টে কাজ করে না।
জোশুয়া কারমোডি

12
ভাবেন লোকেরা মনে রাখবেন - প্রশ্নগুলি যতই প্রমানিত হোক না কেন, প্রশ্ন থাকা দরকার । দয়া করে এমন কোনও সম্পাদনা থেকে বিরত থাকুন যা এই প্রশ্নটিকে উত্তরে পরিণত করে, পরিবর্তে উত্তরগুলি পরিমার্জন করে এবং বজায় রাখে । ধন্যবাদ :)
টিম পোস্ট

1
আমি এই লিঙ্কে কোড ব্যবহার msdn.microsoft.com/en-us/library/ie/ff743760(v=vs.94).aspx - (date.toLocaleDateString ( "স্বীকারোক্তি-মার্কিন"));
খালেদ আন্নাজার

যদি এই পৃষ্ঠায় ভবিষ্যতের দর্শকরা প্রশ্নের বেশিরভাগ উত্তর সম্পর্কিত কীভাবে বিভ্রান্ত হন তবে আমি প্রশ্নটি পুনর্বিবেচনাগুলি পড়ার পরামর্শ দিচ্ছি , বিশেষত (উপরের থেকে আলাদা হলে) সংশোধন 15 @ এরিক মিউসার - আমি একের জন্য অবৈধের অভাবে বিভ্রান্ত হয়েছিলাম তারিখ # টু স্ট্রিং ব্যবহার usage
ব্যবহারকারী 66001

উত্তর:


1062

আমি ভালোবাসি জাভাস্ক্রিপ্ট ব্যবহার বিন্যাস সময় এবং তারিখ 10 টি উপায় এবং তারিখ সঙ্গে কাজ

মূলত, আপনার কাছে তিনটি পদ্ধতি রয়েছে এবং আপনার নিজের জন্য স্ট্রিংগুলি একত্রিত করতে হবে:

getDate() // Returns the date
getMonth() // Returns the month
getFullYear() // Returns the year

উদাহরণ:

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
console.log(curr_date + "-" + curr_month + "-" + curr_year);


27
এই উভয় সাইটেরই সীমাবদ্ধ লাইসেন্স রয়েছে। সুতরাং আপনি যদি কোডটি (অনুমতি ছাড়াই) ব্যবহার করেন তবে আপনি লঙ্ঘন করবেন। Momentjs ( stackoverflow.com/a/10119138/278976 ) একটি উপায় ভালো বিকল্প মত দেখায় এবং MIT- র লাইসেন্স।
হোমার 6

4
@ পেলার এই উত্তরটির প্রশ্নের উত্তর দেয় "আমি জাভাস্ক্রিপ্টে তারিখগুলি কীভাবে বিন্যাস করব?" যা কার্যকরভাবে প্রশ্নের শিরোনাম। প্রশ্নের শরীরে তিনি বেশ বিভ্রান্ত। এবং, আপনার বক্তব্য, এই উত্তরটি এলোমেলো অ-মানক বা উল্লিখিত গ্রন্থাগারগুলি ব্যবহার করে স্ট্রিং ফর্ম্যাটিং সম্পর্কে কথা বলবে না। তবে প্রশ্নের সেই অংশটি ভুলভাবে জিজ্ঞাসা করা হয়েছিল, কারণ প্রশ্নে # 1 মন্তব্যটি উল্লেখ করেছে। সুতরাং, এটি আসল প্রশ্নের উত্তর দেয়, তবে এমন ফর্ম্যাট স্ট্রিংগুলিতে নয় যা আসলে বিদ্যমান নয়।
ম্যাককে

3
@McKay; এটা প্রশ্ন ছিল না। আমি মনে করি আপনি হয় প্রবক্তা যা জিজ্ঞাসা করছেন বা আপনার যুক্তিতে অবজ্ঞাপূর্ণ তা ভুল বোঝাচ্ছেন।
কোডিনথেহোল

10
@ কোডেডিথহোল "জাভাস্ক্রিপ্টে ফর্ম্যাট করার তারিখ" প্রশ্ন। "এখনও অবধি আমি এই ছাপে ছিলাম যে জাভাস্ক্রিপ্টের কোনও তারিখের অবজেক্টটিকে স্ট্রিংয়ে ফর্ম্যাট করার জন্য অন্তর্নির্মিত API নেই" " তবে তারপরে আচরণ সম্পর্কে কথা বলে, আমার বিশ্বাস তিনি জাভাস্ক্রিপ্টে স্থানীয় বলে মনে করেন। তিনি কোন লাইব্রেরিটি ভুল করে উল্লেখ করেছেন, তা না জেনে আমার মনে হয় সবচেয়ে ভাল অনুমান যে তিনি প্রশ্নটি জিজ্ঞাসা করছেন, "আমি জাভাস্ক্রিপ্টে তারিখগুলি কীভাবে বিন্যাস করব?" এবং আমি মনে করি না যে আমি বুনো লাফিয়ে যাচ্ছি।
ম্যাককে

5
এমএম মানে 01-12, 1-12 নয়: 2013-04-17 => ঠিক আছে 2013-4-17 => বিএডি
অ্যাড্রিয়ান

678

Moment.js

পার্সিং, কারসাজি করতে, এবং তারিখের বিন্যাসের জন্য এটি জাভাস্ক্রিপ্টের তারিখের গ্রন্থাগার date

var a = moment([2010, 1, 14, 15, 25, 50, 125]);
a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
a.format("ddd, hA");                       // "Sun, 3PM"

(*) হালকা ওজনের অর্থ 9.3KB মিনিফাইন্ড + ক্ষুদ্রতম সম্ভব সেটআপে জিজেপড (ফেব্রুয়ারী 2014)


7
এটি বাঁকটিকে মূল বস্তুকে ঘুষি দেওয়ার পরিবর্তে ডেট অবজেক্টের চারপাশে ডেকরেটর প্যাটার্নও সরবরাহ করে, যাতে আপনি রাস্তায় দ্বন্দ্ব নেওয়ার সম্ভাবনা কম less
গ্যাব মার্টিন-ড্যাম্পেসি

120
দয়া করে "লাইটওয়েট" শব্দটি অপব্যবহার বন্ধ করুন। এমনকী কার্যকারিতার জন্য এমনকি 5 কেবি হাস্যকর আকারে বড় এবং আজকের হিসাবে সেই আকারটি 19 কেবিতে বেড়েছে।
ব্যবহারকারী 123444555621

26
@ পুম্বা ৮০ আমি এই বিষয়ে একমত নই যে "এমনকি এই জাতীয় কার্যকারিতার জন্য 5kb হাস্যকরভাবে বড়"। আপনি ডক্সটি দেখেছেন? এটি জেএসে তারিখগুলি মোকাবেলার জন্য একটি অত্যন্ত দরকারী গ্রন্থাগার। আমি বুঝতে পারি যে "ডি / এম / ওয়াই" এর মত মৌলিক বিন্যাসের একক ব্যবহারের জন্য কয়েকটি কেবিএসের চেয়ে বেশি একটি লাইব্রেরি থাকা কিছুটা ওভারকিল হতে পারে তবে কয়েকটি কেবিএসের পার্থক্য নাগালের জন্য উপযুক্ত হয়ে থাকে তবে গ্রন্থাগারটি ব্যবহারের সহজলভ্যতা সরবরাহ করে । রক্ষণাবেক্ষণযোগ্য কোডটি কয়েকটি কেবিএসের জন্য ভাল জিনিস। যদি এটি + 100 কেবি মিনিট করা হয় তবে আমি সম্মত হব।
টার্নারজ

15
@ টিউমারজ যুক্তি দিয়েছিলেন যে এটি দরকারী এটি লাইটওয়েট হওয়ার উদ্বেগের সমাধান করতে কিছুই করে না। দুই সংশ্লিষ্ট নয়।
জোশজর্দান

9
ইঞ্জিনটি সরিয়ে আপনি কোনও জেট বিমান আরও হালকা ওজন তৈরি করতে পারবেন না কারণ এটি পরে গ্লাইডার হয়ে যায়, জেট নয়। লাইটওয়েট মানে কোনও নির্দিষ্ট ক্রিয়াকলাপ সম্পাদনের জন্য কোনও কিছুর কেবলমাত্র প্রয়োজনীয় কার্যকারিতা থাকে। তবে, এটি একটি হালকা ওজনের সমাধান।
বন

425

আপনি যদি ইতিমধ্যে আপনার প্রকল্পে jQuery UI ব্যবহার করে থাকেন তবে আপনি নিজের তারিখের অবজেক্টটি ফর্ম্যাট করার জন্য বিল্ট-ইন ডেটপিকার পদ্ধতিটি ব্যবহার করতে পারেন:

$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));

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

কটাক্ষপাত আছে jQuery এর UI 'তে datepicker formatDate , উদাহরণ।


স্থানীয় সময় বা জুলু ব্যবহার করতে এটি কীভাবে বলবেন?
উস্তামান সংগীত

7
আমি কোনও লাইব্রেরি ছাড়াই সময় পেতে সক্ষম এই সমাধানটি ব্যবহার করতে পছন্দ করি: নতুন তারিখ ()। টাইটাইমস্ট্রিং ()। ম্যাচ (/ ^ ([0-9] {2}: [0-9] {2}: [0-9 ] {2}) /) [0] এফওয়াইআই
মার্শাল

এই কাজ করতে একটি উপায় আছে কি. d .ডেটপিকার.ফরম্যাটডেট ('yy-mm-dd', নতুন তারিখ ("txtAdvDate"। ভ্যাল ()); বা এর মতো কিছু
পমস্টার

@ পমস্টার - "txtAdvDate" স্ট্রিংটিতে একটি ভাল পদ্ধতি থাকবে তা কী আপনি ভাবেন? আপনার অর্থ কি $ ('# txtAdvDate')? ভাল ()? ধরে নিলাম এটি নির্মাণকারীদের মধ্যে একটির সাথে খাপ খায় (এখানে w3schools.com/jsref/jsref_obj_date.asp দেখুন ) তবে এটি ঠিক কাজ করবে।
ভবুলিংগার

@পমস্টার - এটি ব্যবহার করে দেখুন: ডকুমেন্ট.সেটমেন্টমেন্টবাইআইডি (আইডি)। মূল্য = $ .ডেটপিকার.ফর্ম্যাট ডেট ('ইয়াই-মিমি-ডিডি', নতুন তারিখ ());
mrrsb

219

Date()অবজেক্ট দ্বারা সমর্থিত ফর্ম্যাট স্পেসিফায়ার তালিকাভুক্ত ডকুমেন্টেশনটি কোথায় ?

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

আফাইক, খাঁটি জাভাস্ক্রিপ্ট আপনি যেভাবে সেগুলি ব্যবহার করতে চান সেভাবে বিন্যাসের নির্দিষ্টকরণগুলিকে সমর্থন করে না । কিন্তু এটা যেমন তারিখ এবং / অথবা বার বিন্যাস সমর্থন পদ্ধতি আছে .toLocaleDateString(), .toLocaleTimeString()এবং .toUTCString()

Dateঅবজেক্ট রেফারেন্স আমি সবচেয়ে ঘন ঘন ব্যবহার হয় w3schools.com ওয়েবসাইট (কিন্তু একটি দ্রুত গুগল সার্চ আরো অনেক যে ভাল আপনার চাহিদা পূরণ করতে পারে প্রকাশ হবে)।

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


26
এমডিএনও একটি দুর্দান্ত রেফারেন্স: ডেভেলপার.মোজিলা.আর.ইন.ইউএস
ডকস / ওয়েব

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

214

কাস্টম ফর্ম্যাটিং ফাংশন:

স্থির ফর্ম্যাটগুলির জন্য, একটি সাধারণ ফাংশন কাজটি করে। নিম্নলিখিত উদাহরণটি YYYY-MM-DD আন্তর্জাতিক ফর্ম্যাট তৈরি করে:

function dateToYMD(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1;
    var y = date.getFullYear();
    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
}

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

আরও উন্নত ফাংশন একটি ফর্ম্যাট প্যারামিটারের ভিত্তিতে কনফিগারযোগ্য আউটপুট তৈরি করতে পারে। এই একই পৃষ্ঠায় বেশ কয়েকটি ভাল উদাহরণ রয়েছে।

যদি একটি ফর্ম্যাটিং ফাংশন লিখতে খুব দীর্ঘ হয়, এখানে প্রচুর লাইব্রেরি রয়েছে যা এটি করে। আরও কিছু উত্তর ইতিমধ্যে সেগুলি গণনা করেছে। তবে ক্রমবর্ধমান নির্ভরতাও এর পাল্টা অংশ রয়েছে।

স্ট্যান্ডার্ড ECMAScript ফর্ম্যাটিং ফাংশন:

ECMAscript এর আরও সাম্প্রতিক সংস্করণ থেকে, Dateশ্রেণীর কিছু নির্দিষ্ট বিন্যাসের কার্য রয়েছে:

টোডেটস্ট্রিং : বাস্তবায়ন নির্ভর, কেবল তারিখটি দেখান।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.todatestring

new Date().toDateString(); // e.g. "Fri Nov 11 2016"

টোআইএসএসটিং : আইএসও 8601 তারিখ এবং সময় দেখান।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.toisostring

new Date().toISOString(); // e.g. "2016-11-21T08:00:00.000Z"

টোজন : জেএসএনের জন্য স্ট্রিংফায়ার।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tojson

new Date().toJSON(); // e.g. "2016-11-21T08:00:00.000Z"

ToLocaleDateString : বাস্তবায়ন নির্ভর, স্থানীয় ফর্ম্যাট একটি তারিখ।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaledatestring

new Date().toLocaleDateString(); // e.g. "21/11/2016"

ToLocaleString : বাস্তবায়ন নির্ভর, স্থানীয় ফর্ম্যাটে একটি তারিখ এবং সময়।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocalestring

new Date().toLocaleString(); // e.g. "21/11/2016, 08:00:00 AM"

ToLocaleTimeString : বাস্তবায়ন নির্ভর, স্থানীয় বিন্যাসে একটি সময়।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaletimestring

new Date().toLocaleTimeString(); // e.g. "08:00:00 AM"

টস্ট্রিং : তারিখের জন্য জেনেরিক টুস্ট্রিং।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tostring

new Date().toString(); // e.g. "Fri Nov 11 2016 08:00:00 GMT+0100 (W. Europe Standard Time)"

দ্রষ্টব্য: এই ফর্ম্যাট ফাংশনগুলির মধ্যে কাস্টম আউটপুট উত্পন্ন করা সম্ভব:

new Date().toISOString().slice(0,10); // By @Image72, return YYYY-MM-DD

10
এটি উত্তর গ্রহণ করা উচিত, কারণ এটি প্রয়োজনীয় ফর্ম্যাট দেয় (01-01-2000, 1-1-2000 নয়)
নাবিক

6
নতুন তারিখ ()। toISOString ()। স্লাইস (0,10) // "2015-04-27"
চিত্র 72

2
11 ই সেপ্টেম্বরের উদাহরণ না রাখলে খুব সহায়ক হবে তাই দিন এবং মাসটি কোন পজিশনে উপস্থাপন করা হবে তা স্পষ্ট হবে।
কার্ল অ্যাডলার

1
@ অবিম্লেক্স সম্পন্ন হয়েছে। আশা করি এটি এখন আরও পরিষ্কার হয়ে গেছে।
অ্যাড্রিয়ান মায়ার

1
উৎস লিংক যোগ করার জন্য ধন্যবাদ (: - তাও দেখতে developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/... এবং developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…
সান্দ্রা

125

সংক্ষিপ্ত উত্তর

জাভাস্ক্রিপ্ট পূরণ করে এমন কোনও "সর্বজনীন" ডকুমেন্টেশন নেই; প্রতিটি ব্রাউজারে জাভাস্ক্রিপ্ট আসলে বাস্তবায়ন। তবে, এমন একটি মান আছে যা বেশিরভাগ আধুনিক ব্রাউজারে অনুসরণ করতে থাকে এবং এটিই EMCAScript স্ট্যান্ডার্ড; ECMAScript স্ট্যান্ডার্ড স্ট্রিংগুলি ন্যূনতমভাবে, আইএসও 8601 সংজ্ঞাটির একটি পরিবর্তিত বাস্তবায়ন গ্রহণ করবে।

এগুলি ছাড়াও, আইইটিএফ দ্বারা প্রস্তুত একটি দ্বিতীয় স্ট্যান্ডার্ড রয়েছে যা ব্রাউজারগুলিও অনুসরণ করতে পারে, যা আরএফসি 2822-এ তৈরি টাইমস্ট্যাম্পগুলির সংজ্ঞা। প্রকৃত নথিপত্র নীচে রেফারেন্স তালিকায় পাওয়া যাবে।

এ থেকে আপনি মৌলিক কার্যকারিতা আশা করতে পারেন, তবে যা "হওয়া উচিত" তা অন্তর্নিহিতভাবে "যা" তা নয়। আমি এই প্রক্রিয়াগতভাবে কিছুটা গভীরতার সাথে যাচ্ছি, যদিও দেখা যাচ্ছে যে কেবল তিনজন লোকই এই প্রশ্নের উত্তর দিয়েছে (স্কট, গফবললজিক, এবং পেলার) যিনি আমার কাছে পরামর্শ দেন যে বেশিরভাগ লোকেরা আসলে কী ঘটে তা সম্পর্কে অজ্ঞাত হন যখন আপনি হন একটি তারিখ অবজেক্ট তৈরি করুন।


দীর্ঘ উত্তর

তারিখ () অবজেক্ট দ্বারা সমর্থিত ফর্ম্যাট স্পেসিফায়ারদের তালিকাভুক্ত ডকুমেন্টেশনটি কোথায়?


প্রশ্নের উত্তর দিতে, বা সাধারণত এই প্রশ্নের উত্তর সন্ধানের জন্য, আপনাকে জানতে হবে যে জাভাস্ক্রিপ্ট কোনও উপন্যাসের ভাষা নয়; এটি আসলে ECMAScript এর একটি বাস্তবায়ন, এবং ECMAScript মান অনুসরণ করে (তবে দ্রষ্টব্য, জাভাস্ক্রিপ্টও আসলে সেই মানগুলি পূর্ব-তারিখযুক্ত; EMCAScript মানগুলি লাইভস্ক্রিপ্ট / জাভাস্ক্রিপ্টের প্রাথমিক প্রয়োগের তুলনায় নির্মিত)। বর্তমান ইসমাস্ক্রিপ্ট মান 5.1 (2011); মূলত যখন প্রশ্নটি জিজ্ঞাসা করা হয়েছিল (জুন'৯৯), তখন মানটি তিনটি ছিল (৪ টি পরিত্যাগ করা হয়েছিল), তবে ২০০৯ এর শেষের দিকে পোস্টের অল্প সময়ের মধ্যে ৫ টি প্রকাশ করা হয়েছিল। এটির একটি সমস্যার রূপরেখা হওয়া উচিত; জাভাস্ক্রিপ্ট বাস্তবায়ন কী স্ট্যান্ডার্ড অনুসরণ করতে পারে, বাস্তবে যা আছে তা প্রতিবিম্বিত করতে পারে না, কারণ ক) এটি একটি প্রদত্ত মানটির বাস্তবায়ন, খ) মানকটির সমস্ত বাস্তবায়ন শুদ্ধ নয়,

মূলত, জাভাস্ক্রিপ্ট নিয়ে কাজ করার সময়, আপনি একটি বাস্তবায়ন (জাভাস্ক্রিপ্ট নিজেই) এর একটি ডেরাইভেটিভ (ব্রাউজারের সাথে নির্দিষ্ট জাভাস্ক্রিপ্ট) এর সাথে কাজ করছেন। গুগলের ভি 8, উদাহরণস্বরূপ, ECMAScript 5.0 প্রয়োগ করে, কিন্তু ইন্টারনেট এক্সপ্লোরারের জেএসক্রিপ্ট কোনও ইসমাস্ক্রিপ্ট স্ট্যান্ডার্ড মেনে চলার চেষ্টা করে না, তবুও ইন্টারনেট এক্সপ্লোরার 9 টি ইসমাস্ক্রিপ্ট 5.0 এর সাথে সামঞ্জস্য করে না।

যখন একটি একক যুক্তি নতুন তারিখ () এ পাস করা হয়, তখন এটি এই ফাংশনটির প্রোটোটাইপটি কাস্ট করে:

new Date(value)

যখন দুটি বা ততোধিক যুক্তি নতুন তারিখের () এ পাস করা হয় তখন এটি এই ফাংশনটির প্রোটোটাইপটি কাস্ট করে:

new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] )


এই দুটি ফাংশনই পরিচিত হওয়া উচিত, তবে এটি অবিলম্বে আপনার প্রশ্নের উত্তর দেয় না এবং গ্রহণযোগ্য "তারিখের ফর্ম্যাট" হিসাবে কী পরিমাণ ব্যাখ্যা করে তার আরও ব্যাখ্যা প্রয়োজন explanation আপনি যখন নতুন তারিখের (স্ট্রিং) স্ট্রিংটি পাস করবেন, তখন এটি প্রোটোটাইপকে কল করবে (নোট করুন যে আমি প্রোটোটাইপ শব্দটি আলগাভাবে ব্যবহার করছি ; সংস্করণগুলি স্বতন্ত্র ফাংশনগুলি হতে পারে, বা এটি কোনও ফাংশনে শর্তাধীন বিবৃতিতে অংশ হতে পারে) জন্য "তারিখ " প্যারামিটারের যুক্তি হিসাবে আপনার স্ট্রিং সহ নতুন তারিখ (মান) । এই ফাংশনটি প্রথমে এটি নম্বর বা স্ট্রিং কিনা তা যাচাই করবে। এই ফাংশনটির জন্য ডকুমেন্টেশনগুলি এখানে পাওয়া যাবে:

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.3.2

এটি থেকে, আমরা অনুমান করতে পারি যে নতুন তারিখ (মান) এর জন্য স্ট্রিং ফর্ম্যাটিংয়ের অনুমতি পাওয়ার জন্য, আমাদের তারিখ.পার্স (স্ট্রিং) পদ্ধতিটি দেখতে হবে। এই পদ্ধতির জন্য ডকুমেন্টেশন এখানে পাওয়া যাবে:

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.4.2

এবং আমরা আরও অনুমান করতে পারি যে তারিখগুলি এখানে বর্ণিত পরিবর্তিত আইএসও 8601 এক্সটেন্ডেড ফর্ম্যাটে থাকবে বলে আশা করা হচ্ছে:

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

যাইহোক, আমরা অভিজ্ঞতা থেকে সনাক্ত করতে পারি যে জাভাস্ক্রিপ্টের তারিখ অবজেক্টটি অন্য ফর্ম্যাটগুলি গ্রহণ করে (এই প্রশ্নের অস্তিত্বের দ্বারা প্রথম স্থানে চাপিয়ে দেওয়া হয়) এবং এটি ঠিক আছে কারণ ECMAScript নির্দিষ্ট ফর্ম্যাটগুলি বাস্তবায়নের অনুমতি দেয়। যাইহোক, এটি এখনও উপলভ্য ফর্ম্যাটগুলিতে কী কী ডকুমেন্টেশন উপলব্ধ তা প্রশ্নের উত্তর দেয় না বা কোন ফর্ম্যাটগুলিকে প্রকৃতপক্ষে অনুমোদিত। আমরা গুগলের জাভাস্ক্রিপ্ট বাস্তবায়ন, ভি 8 দেখতে যাচ্ছি; দয়া করে নোট করুন আমি প্রস্তাব দিচ্ছি না এটি "সেরা" জাভাস্ক্রিপ্ট ইঞ্জিন (কীভাবে একজন "সেরা" বা এমনকি "ভাল" সংজ্ঞা দিতে পারেন) এবং কেউ ধরে নিতে পারে না যে ভি 8-র মধ্যে অনুমোদিত ফর্ম্যাটগুলি আজ উপলব্ধ সমস্ত ফর্ম্যাটকে উপস্থাপন করে, তবে আমি মনে করি এটি যথাযথ ধরে নিতে তারা আধুনিক প্রত্যাশা অনুসরণ করে।

গুগলের ভি 8, ডেট.জেএস, ডেটকন্সট্রাক্টর

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400#141

ডেটকন্সট্রাক্টর ফাংশনটি দেখে, আমরা ডেট পার্স ফাংশনটি খুঁজে পাওয়ার জন্য অনুমান করতে পারি; তবে নোট করুন যে "বছর" প্রকৃত বছর নয় এবং এটি কেবল "বছর" প্যারামিটারের একটি রেফারেন্স।

গুগলের ভি 8, ডেট.জেএস, ডেট পার্স

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400#270

এটি% ডেটপার্সস্ট্রিংকে কল করে যা আসলে একটি সি ++ ফাংশনের জন্য একটি রান-টাইম ফাংশন রেফারেন্স। এটি নিম্নলিখিত কোড বোঝায়:

গুগলের ভি 8, রানটাইম.সি.সি,% ডেট পার্সস্ট্রিং

https://code.google.com/p/v8/source/browse/trunk/src/runtime.cc?r=18400#9559

এই ফাংশনটির সাথে আমরা যে ফাংশন কলটির সাথে সম্পর্কিত তা ডেট পার্সার :: পার্স (); এই ফাংশন কলগুলির চারপাশে যুক্তি উপেক্ষা করুন, এগুলি এনকোডিং প্রকারের (ASCII এবং UC16) অনুসারে কেবলমাত্র চেক। ডেট পার্সার :: পার্স এখানে সংজ্ঞায়িত করা হয়েছে:

গুগলের ভি 8, ডেট পার্সার-ইনলি এইচ, ডেট পার্সার :: পার্স

https://code.google.com/p/v8/source/browse/trunk/src/dateparser-inl.h?r=18400#36

এটি হ'ল ফাংশন যা প্রকৃতপক্ষে সংজ্ঞা দেয় যেগুলি গ্রহণ করে for মূলত, এটি EMCAScript 5.0 আইএসও 8601 স্ট্যান্ডার্ডের জন্য যাচাই করে এবং যদি এটি মানদণ্ডের মান না হয় তবে এটি উত্তরাধিকারের ফর্ম্যাটগুলির ভিত্তিতে তারিখটি তৈরি করার চেষ্টা করবে। মন্তব্যের ভিত্তিতে কয়েকটি মূল বিষয়:

  1. প্রথম সংখ্যার আগে যে শব্দগুলি পার্সারের সাথে অজানা তা এড়ানো হবে।
  2. প্রথম পাঠ্য উপেক্ষা করা হয় text
  3. ":" এর পরে স্বাক্ষরিত স্বাক্ষরিত সংখ্যাগুলি একটি "সময়ের উপাদান" হিসাবে ব্যাখ্যা করা হয়।
  4. "" এর পরে স্বাক্ষরযুক্ত সংখ্যাগুলি। একটি "সময় উপাদান" হিসাবে ব্যাখ্যা করা হয়, এবং মিলিসেকেন্ড অনুসরণ করা আবশ্যক।
  5. ঘন্টা বা ঘন্টা মিনিটের পরে স্বাক্ষরিত সংখ্যাগুলি (যেমন +5: 15 বা +0515) টাইমজোন হিসাবে ব্যাখ্যা করা হয়।
  6. ঘন্টা এবং মিনিট ঘোষণা করার সময় আপনি "এইচএইচ: মিমি" বা "এইচএমএম" ব্যবহার করতে পারেন।
  7. যে শব্দগুলি একটি সময় অঞ্চল নির্দেশ করে তা সময় অঞ্চল হিসাবে ব্যাখ্যা করা হয়।
  8. অন্যান্য সমস্ত সংখ্যা "তারিখ উপাদান" হিসাবে ব্যাখ্যা করা হয়।
  9. এক মাসের প্রথম তিনটি অঙ্ক দিয়ে শুরু হওয়া সমস্ত শব্দকে মাস হিসাবে ব্যাখ্যা করা হয়।
  10. আপনি দুটি হ'ল ফর্ম্যাট: মিনিট এবং ঘন্টা একসাথে সংজ্ঞায়িত করতে পারেন: "এইচএইচ: মিমি" বা "এইচএমএম"।
  11. একটি সংখ্যা প্রক্রিয়া করার পরে "+", "-" এবং তুলনামূলক ")" জাতীয় প্রতীকগুলি অনুমোদিত নয়।
  12. একাধিক ফর্ম্যাটগুলির সাথে মেলে এমন আইটেমগুলি (উদাহরণস্বরূপ 1970-01-01) একটি স্ট্যান্ডার্ড কমপ্লায়েন্ট EMCAScript 5.0 আইএসও 8601 স্ট্রিং হিসাবে প্রক্রিয়া করা হয়।

সুতরাং এটি একটি ডেট অবজেক্টে স্ট্রিং পাস করার সময় কী প্রত্যাশা করা উচিত তার একটি প্রাথমিক ধারণা দেওয়ার জন্য আপনার যথেষ্ট হওয়া উচিত। আপনি মজিলাটি মোজিলা বিকাশকারী নেটওয়ার্কের (আইইটিএফ আরএফসি 2822 টাইমস্ট্যাম্পের সাথে সামঞ্জস্যপূর্ণ) নির্দেশ করেছেন নিম্নলিখিত স্পেসিফিকেশনটি দেখে এর আরও প্রসারিত করতে পারেন:

http://tools.ietf.org/html/rfc2822#page-14

মাইক্রোসফ্ট ডেভেলপার নেটওয়ার্ক অতিরিক্তভাবে তারিখ অবজেক্টের জন্য একটি অতিরিক্ত স্ট্যান্ডার্ডের উল্লেখ করে: ইসিএমএ -402, ইসিএমএসক্রিপ্ট আন্তর্জাতিককরণের API স্পেসিফিকেশন, যা ECMAScript 5.1 স্ট্যান্ডার্ড (এবং ভবিষ্যতের বিষয়গুলির) পরিপূরক। এটি এখানে পাওয়া যাবে:

http://www.ecma-international.org/ecma-402/1.0/

যাই হোক না কেন, এটি হাইলাইট করতে সহায়তা করবে যে এমন কোনও "ডকুমেন্টেশন" নেই যা সর্বজনীনভাবে জাভাস্ক্রিপ্টের সমস্ত প্রয়োগকে উপস্থাপন করে, তবে ডেট অবজেক্টের জন্য কী স্ট্রিং গ্রহণযোগ্য তা যথাযথ বোধ করতে পর্যাপ্ত ডকুমেন্টেশন উপস্থিত রয়েছে। বেশ বোঝা প্রশ্ন যখন আপনি এটি সম্পর্কে চিন্তা, হ্যাঁ? : P: P

তথ্যসূত্র

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.3.2

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.4.2

http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

http://tools.ietf.org/html/rfc2822#page-14

http://www.ecma-international.org/ecma-402/1.0/

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400#141

https://code.google.com/p/v8/source/browse/trunk/src/date.js?r=18400#270

https://code.google.com/p/v8/source/browse/trunk/src/runtime.cc?r=18400#9559

https://code.google.com/p/v8/source/browse/trunk/src/dateparser-inl.h?r=18400#36

সম্পদ

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

http://msdn.microsoft.com/en-us/library/ff743760(v=vs.94).aspx


92

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

সম্পাদনা : টাইলার ফোরসিথে উল্লেখ করেছেন যে তারিখটি পুরানো। আমি এটি আমার বর্তমান প্রকল্পে ব্যবহার করি এবং এটিতে কোনও সমস্যা হয়নি, তবে আপনার এটি সম্পর্কে সচেতন হওয়া উচিত এবং বিকল্পগুলি বিবেচনা করা উচিত।


2
তারিখ তৈরির জন্য আমি মিলিসেকেন্ড সহ ডেটজেস খাওয়ার কোনও উপায় খুঁজে পাইনি। লাইক তাই: var ডেটটাইম = নতুন তারিখ (); dateTime.setTime (মিলিসেকেন্ডে);
আর্ন এভার্টসন

14
25k? খেজুরের জন্য? সেকি।
বেন লেশ

13
ডেটজস একটি পুরানো গ্রন্থাগার যা ~ 5 বছরে সক্রিয় উন্নয়ন দেখেনি। তাদের উত্সটি গিথুব এবং গুগল কোডে রয়েছে এবং উভয়েরই সর্বশেষ আপডেটের তারিখ রয়েছে ২০০৮ (এটি 2013)। আপনার বোধগম্যতার জন্য, এক্সডেট বা মোমেন্ট.জেএস এর সাথে যান।
টাইলার ফোরসিথে

3
@ টাইলারফোরসিথে আমি সে সম্পর্কে একটি ইঙ্গিত / সতর্কতা যুক্ত করেছি।
টিম বাথ

2
LOL

69

Meizz দ্বারা উল্লিখিত হিসাবে আপনি কেবলমাত্র Dateএকটি নতুন formatপদ্ধতিতে অবজেক্টটি প্রসারিত করতে পারেন , নীচে লেখকের দেওয়া কোডটি। এবং এখানে একটি jsfiddle আছে

Date.prototype.format = function(format) //author: meizz
{
  var o = {
    "M+" : this.getMonth()+1, //month
    "d+" : this.getDate(),    //day
    "h+" : this.getHours(),   //hour
    "m+" : this.getMinutes(), //minute
    "s+" : this.getSeconds(), //second
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
    "S" : this.getMilliseconds() //millisecond
  }

  if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
    (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  for(var k in o)if(new RegExp("("+ k +")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length==1 ? o[k] :
        ("00"+ o[k]).substr((""+ o[k]).length));
  return format;
}

alert(new Date().format("yyyy-MM-dd"));
alert(new Date("january 12 2008 11:12:30").format("yyyy-MM-dd h:mm:ss"));

এএম / প্রধানমন্ত্রী সমর্থন করার জন্য আমার উদ্দেশ্যগুলির জন্য এটি কিছুটা
বাড়িয়ে তুলেছে

@ ডব্লিউএইচকে তবে আমি আরও মুহুর্তগুলি পছন্দ করি : ডি
গংঝিটাও

ক্যাপচার মাসের ক্ষেত্রে সমস্যা আছে: নতুন তারিখ ((নতুন তারিখ ()) ফর্ম্যাট ('yyyy-MM-dd')) মে মাসে ফিরে আসবে তবে এখন জুন: - / পার্সো স্ট্রিংয়ে টাইমজোন কে কে ব্যবহার করবেন?
ই তথ্য 128

1
@WHK এটি আসলে খুব আদিম তারিখ বিশ্লেষণকারী। সেক্ষেত্রে আপনাকে খুব বেশি তারিখ নিয়ে ঝামেলা করতে হবে না। যদি আপনাকে সত্যিকারের বিভিন্ন তারিখের ফর্ম্যাটগুলি মোকাবেলা করতে হয় তবে আমি মুহুর্তের মতো একটি স্বতন্ত্র গ্রন্থাগারটি সুপারিশ করব। : ডি
গংঝিটাও

1
@ ডব্লিউএইচকে কারণ console.log(new Date('2014-06-01')) -> Mayআমি মনে করি টাইমজোনটির সাথে এর কিছু আছে: ডি
গংঝিটাও

37

আপনি যে কার্যকারিতাটি উদ্ধৃত করেছেন সেটি মানক জাভাস্ক্রিপ্ট নয়, ব্রাউজারগুলিতে পোর্টেবল হওয়ার সম্ভাবনা নেই এবং তাই ভাল অনুশীলন নয়। এর নাম ECMAScript 3 বৈশিষ্ট পাতার পার্স এবং আউটপুট বিন্যাসের জাভাস্ক্রিপ্ট বাস্তবায়ন পর্যন্ত কাজ করে। ECMAScript 5 ISO8601 সমর্থনের একটি উপসেট যুক্ত করেছে। আমি বিশ্বাস করি আপনি যে স্ট্রিং () ফাংশনটি উল্লেখ করেছেন তা হ'ল একটি ব্রাউজারে (মোজিলা?) নতুনত্ব

বেশ কয়েকটি গ্রন্থাগার এটিকে প্যারামিটারাইজ করার জন্য রুটিন সরবরাহ করে, কিছুকে স্থানীয়ভাবে স্থানীয়করণ সমর্থন support আপনি dojo.date.locale এর পদ্ধতিগুলিও পরীক্ষা করে দেখতে পারেন ।


5
প্রকৃতপক্ষে প্রশ্নের উত্তর দেওয়ার চেষ্টা করা আপনাকে অনেক ভোট পাবে না। কেবলমাত্র একটি জনপ্রিয় গ্রন্থাগার মনোনীত করুন এবং আপনার স্কোর উড়ে দেখুন!
রবিজি 26'14

30

আমি এটি খুব সাধারণ ফর্ম্যাটর তৈরি করেছি, এটি কাটা / এন / পেকেবল (সুন্দর সংস্করণের সাথে আপডেট করা):

function DateFmt(fstr) {
  this.formatString = fstr

  var mthNames = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
  var dayNames = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
  var zeroPad = function(number) {
     return ("0"+number).substr(-2,2);
  }

  var dateMarkers = {
    d:['getDate',function(v) { return zeroPad(v)}],
    m:['getMonth',function(v) { return zeroPad(v+1)}],
    n:['getMonth',function(v) { return mthNames[v]; }],
    w:['getDay',function(v) { return dayNames[v]; }],
    y:['getFullYear'],
    H:['getHours',function(v) { return zeroPad(v)}],
    M:['getMinutes',function(v) { return zeroPad(v)}],
    S:['getSeconds',function(v) { return zeroPad(v)}],
    i:['toISOString']
  };

  this.format = function(date) {
    var dateTxt = this.formatString.replace(/%(.)/g, function(m, p) {
      var rv = date[(dateMarkers[p])[0]]()

      if ( dateMarkers[p][1] != null ) rv = dateMarkers[p][1](rv)

      return rv

    });

    return dateTxt
  }

}

fmt = new DateFmt("%w %d:%n:%y - %H:%M:%S  %i")
v = fmt.format(new Date())

http://snipplr.com/view/66968.82825/


4
আমি এই ক্লাসটি পছন্দ করি তবে এটি "স্ট্যাটিক" শ্রেণি হওয়া উচিত বলে মনে করি। এটি একাধিকবার ইনস্ট্যান্ট করার দরকার নেই। (প্রয়োজন হবে না new DateFmt())
চিজো

1
চিজো: আমি যদি কোনও পৃষ্ঠায় 10 টি বিভিন্ন তারিখ 3 টি বিভিন্ন উপায়ে বিন্যাস করতে চাই তবে কী হবে? সেক্ষেত্রে এই ফর্ম্যাটারটির তিনটি উদাহরণ থাকা কার্যকর হবে। এটি একটি পুরোপুরি বৈধ ইউজকেস যা এটি হ্রাস পাবে। ওপি এটি সঠিকভাবে ডিজাইন করেছে। এছাড়াও নির্মাণের সময় কোনও ফর্ম্যাট নির্দিষ্ট করে দেওয়া প্রত্যেক সময় আপনার কোনও নির্দিষ্ট উপায়ে ফর্ম্যাট করার সময় প্রয়োজন হয় এমন বিন্যাসের কোড ডুপ্লিকেশন সংরক্ষণ করে।
20:30 এ স্যান্ডসার্স

29

ফ্রেমওয়ার্ক বিনামূল্যে, সীমিত তবে হালকা

var d = (new Date()+'').split(' ');
// ["Tue", "Sep", "03", "2013", "21:54:52", "GMT-0500", "(Central", "Daylight", "Time)"]

[d[3], d[1], d[2], d[4]].join(' ');
// "2013 Sep 03 21:58:03"

এই ক্রস ব্রাউজার হয়? এবং ক্রস লোকেল?
ইফতা 14

হ্যাঁ. আপনার (ব্রাউজার ব্যবহারকারী) স্থানীয় সময় অঞ্চলে সময় দেখায়।
জন উইলিয়ামস

22

ডেটজেএস অবশ্যই অবশ্যই পুরো বৈশিষ্ট্যযুক্ত, তবে আমি এই খুব সহজ লিবি (জাভাস্ক্রিপ্টের তারিখ ফর্ম্যাট) এর সুপারিশ করব যা আমি পছন্দ করি কারণ এটি কেবলমাত্র 120 লাইন বা তার বেশি।


লিঙ্কযুক্ত নিবন্ধে উত্স কোডের রেফারেন্সগুলি মারা গেছে, তবে ভাগ্যক্রমে কেউ গিথুবকে রেখেছেন
Geert

18

অন্যান্য উত্তরে প্রদত্ত কয়েকটি বিকল্পের সন্ধানের পরে আমি আমার নিজের সীমাবদ্ধ তবে সহজ সমাধানটি লেখার সিদ্ধান্ত নিয়েছি যা অন্যরাও কার্যকর পেতে পারে।

/**
* Format date as a string
* @param date - a date object (usually "new Date();")
* @param format - a string format, eg. "DD-MM-YYYY"
*/
function dateFormat(date, format) {
    // Calculate date parts and replace instances in format string accordingly
    format = format.replace("DD", (date.getDate() < 10 ? '0' : '') + date.getDate()); // Pad with '0' if needed
    format = format.replace("MM", (date.getMonth() < 9 ? '0' : '') + (date.getMonth() + 1)); // Months are zero-based
    format = format.replace("YYYY", date.getFullYear());
    return format;
}

ব্যবহারের উদাহরণ:

console.log("The date is: " + dateFormat(new Date(), "DD/MM/YYYY"));

2
প্রতিস্থাপন অপারেশনগুলি সত্যিই দক্ষ নয়, সুতরাং এটি প্রতিরোধের জন্য এটি আরও ভাল অনুশীলন।
mrzmyr

আমি যদি লিখি, কি হতে চলেছে? কনসোল.লগ ("তারিখটি:" + তারিখের ফরম্যাট (নতুন তারিখ (), "ডিডি / এমএম / ওয়াইওয়াই"));
হকান

1
এটি "তারিখটি হল: 12/11 / ওয়াইওয়াই" পাঠ্যটি প্রিন্ট করবে, কারণ উপরেরটি 2-অঙ্কের তারিখগুলি পরিচালনা করে না। যদি আপনি এই প্রয়োজন, আপনি রিটার্ন স্টেটমেন্ট সামনে অবিলম্বে নিম্নলিখিত যোগ করতে পারিনি: format = format.replace("YY", (""+date.getFullYear()).substring(2));। যদিও এটি কুৎসিত হচ্ছে - আপনি সম্ভবত রেজিএক্স রুট বা তার পরিবর্তে অনুরূপ যেতে চান।
অলি বেনেট

1
@ মিঃজমির আপনি কি সত্যিই ভাবেন যে ফর্ম্যাট করার তারিখগুলি একটি পারফরম্যান্স বাধা হয়ে দাঁড়াবে? চলে আসো.
doug65536

11

এখানে আমি একটি ফাংশন ব্যবহার করি। ফলাফলটি yyyy-mm-dd hh: mm: ss.nnn।

function date_and_time() {
    var date = new Date();
    //zero-pad a single zero if needed
    var zp = function (val){
        return (val <= 9 ? '0' + val : '' + val);
    }

    //zero-pad up to two zeroes if needed
    var zp2 = function(val){
        return val <= 99? (val <=9? '00' + val : '0' + val) : ('' + val ) ;
    }

    var d = date.getDate();
    var m = date.getMonth() + 1;
    var y = date.getFullYear();
    var h = date.getHours();
    var min = date.getMinutes();
    var s = date.getSeconds();
    var ms = date.getMilliseconds();
    return '' + y + '-' + zp(m) + '-' + zp(d) + ' ' + zp(h) + ':' + zp(min) + ':' + zp(s) + '.' + zp2(ms);
}

1
উত্তম উত্তর, তবে আমি মনে করি আপনার যেমন zp2 ফাংশনটি পরিবর্তন করা উচিত: var zp2 = ফাংশন (ভাল) {রিটার্ন ভাল <= 9? '00' + ভাল: (ভাল <= 99? '0' + ভাল: '' + ভাল); }
এরিক ওয়াং

1
একটি ব্যতিক্রম আছে, যখন এমএস অংশের মান 0 হয় তবে এটি একই হয় না, আপনার ফাংশনে ফলাফল '00', তবে '000' নয়।
এরিক ওয়াং

9

আপনি তারিখের অবজেক্টের এই পরিবর্তনটি দরকারী বলে মনে করতে পারেন যা কোনও লাইব্রেরির চেয়ে ছোট এবং বিভিন্ন ফর্ম্যাটের সমর্থনে সহজেই প্রসারিত:

বিঃদ্রঃ:

  • এটি অবজেক্ট.কিজ () ব্যবহার করে যা পুরানো ব্রাউজারগুলিতে অপরিজ্ঞাত হয় যাতে আপনার প্রদত্ত লিঙ্কটি থেকে পলিফিল বাস্তবায়নের প্রয়োজন হতে পারে।

কোড

Date.prototype.format = function(format) {
    // set default format if function argument not provided
    format = format || 'YYYY-MM-DD hh:mm';

    var zeropad = function(number, length) {
            number = number.toString();
            length = length || 2;
            while(number.length < length)
                number = '0' + number;
            return number;
        },
        // here you can define your formats
        formats = {
            YYYY: this.getFullYear(),
            MM: zeropad(this.getMonth() + 1),
            DD: zeropad(this.getDate()),
            hh: zeropad(this.getHours()),
            mm: zeropad(this.getMinutes())
        },
        pattern = '(' + Object.keys(formats).join(')|(') + ')';

    return format.replace(new RegExp(pattern, 'g'), function(match) {
        return formats[match];
    });
};

ব্যবহারের

var now = new Date;
console.log(now.format());
// outputs: 2015-02-09 11:47
var yesterday = new Date('2015-02-08');
console.log(yesterday.format('hh:mm YYYY/MM/DD'));
// outputs: 00:00 2015/02/08

8

কেবল গংঝিটাওর দৃ answer় উত্তর চালিয়ে যেতে - এটি এএম / প্রধানমন্ত্রী পরিচালনা করে

 Date.prototype.format = function (format) //author: meizz
{
    var hours = this.getHours();
    var ttime = "AM";
    if(format.indexOf("t") > -1 && hours > 12)
    {
        hours = hours - 12;
        ttime = "PM";
     }

var o = {
    "M+": this.getMonth() + 1, //month
    "d+": this.getDate(),    //day
    "h+": hours,   //hour
    "m+": this.getMinutes(), //minute
    "s+": this.getSeconds(), //second
    "q+": Math.floor((this.getMonth() + 3) / 3),  //quarter
    "S": this.getMilliseconds(), //millisecond,
    "t+": ttime
}

if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
  (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length == 1 ? o[k] :
        ("00" + o[k]).substr(("" + o[k]).length));
return format;
}

খুব ভাল সমাধান! var a = নতুন তারিখ (); a.format ( 'YYYY-MM-ঘ'); // রিটার্ন 2013-08-16।
অ্যাড্রিয়ান মাইরে

this.getMonth (); আইওএসে ব্যর্থ হয়
N20084753

7

আমি বৈধ তারিখের ফর্ম্যাটগুলিতে কোনও সুনির্দিষ্ট ডকুমেন্টেশন সন্ধান করতে অক্ষম ছিলাম তাই বিভিন্ন ব্রাউজারগুলিতে কী সমর্থনযোগ্য তা দেখার জন্য আমি আমার নিজের পরীক্ষা লিখেছিলাম।

http://blarg.co.uk/blog/javascript-date-formats

আমার ফলাফল উপসংহারে নীচের ফর্ম্যাটগুলি আমি পরীক্ষিত সমস্ত ব্রাউজারগুলিতে বৈধ হয় (উদাহরণগুলি "9 ই আগস্ট 2013" তারিখটি ব্যবহার করে):

[পূর্ণ বছর] / [মাস] / [তারিখ সংখ্যা] - মাস হয় শূণ্য বা দীর্ঘ বিন্যাসে একটি শীর্ষস্থানীয় শূন্য বা মাসের নাম ছাড়া বা সংখ্যার নাম হতে পারে এবং তারিখ সংখ্যাটি একটি শীর্ষস্থানীয় শূন্যের সাথে বা ছাড়াই হতে পারে।

  • 2013/08/09
  • 2013/08/9
  • 2013/8/09
  • 2013/8/9
  • 2013 / আগস্ট / 09
  • 2013 / আগস্ট / 9
  • 2013 / আগস্ট / 09
  • 2013 / আগস্ট / 9

[মাস] / [পুরো বছর] / [তারিখ সংখ্যা] - মাস হয় শূন্য বা দীর্ঘ বিন্যাসে একটি শীর্ষস্থানীয় শূন্য বা মাসের নাম ছাড়া বা সংখ্যার নাম্বার হতে পারে এবং তারিখ সংখ্যাটি একটি শীর্ষস্থানীয় শূন্যের সাথে বা তার ছাড়াও হতে পারে।

  • 08/2013/09
  • 08/2013/9
  • 8/2013/09
  • 8/2013/9
  • আগস্ট / 2013/09
  • আগস্ট / 2013/9
  • আগস্ট / 2013/09
  • আগস্ট / 2013/9

[পূর্ণ বছর], [মাসের নাম] এবং [তারিখ সংখ্যা] এর যেকোন সংমিশ্রণ স্পেস দ্বারা পৃথক করা - মাসের নামটি সংক্ষিপ্ত বা দীর্ঘ বিন্যাসে হতে পারে এবং তারিখের নম্বরটি কোনও শূন্য শূন্যের সাথে বা ছাড়াই হতে পারে।

  • 2013 আগস্ট 09
  • আগস্ট 2013 09
  • 09 আগস্ট 2013
  • 2013 আগস্ট 09
  • আগস্ট 9 2013
  • 2013 9 আগস্ট
  • ইত্যাদি ...

"আধুনিক ব্রাউজারগুলিতে" বৈধ (বা অন্য কথায় আই 9 এবং নীচে সমস্ত ব্রাউজারগুলি)

[পুরো বছর] - [মাসের সংখ্যা] - [তারিখ নম্বর] - মাস এবং তারিখের নম্বরটিতে অবশ্যই শীর্ষস্থানীয় শূন্যগুলি অন্তর্ভুক্ত থাকতে হবে (এটি মাইএসকিউএল তারিখের ধরণটি যে ফর্ম্যাটটি ব্যবহার করে)

  • 2013-08-09

মাসের নাম ব্যবহার করে:
মজার বিষয় হল, মাসের নাম ব্যবহার করার সময় আমি আবিষ্কার করেছি যে মাসের নামের প্রথম প্রথম 3 টি অক্ষরই কখনও ব্যবহার করা হয় তাই নীচের সমস্তগুলি পুরোপুরি বৈধ:

new Date('9 August 2013');
new Date('9 Aug 2013');
new Date('9 Augu 2013');
new Date('9 Augustagfsdgsd 2013');

6

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

XDate JavaScript লাইব্রেরি দ্বারা আদম শ মধ্য 2011 সাল থেকে প্রায় হয়েছে এবং সক্রিয় উন্নয়ন অধীনে এখনও করেছে। এটিতে দুর্দান্ত ডকুমেন্টেশন রয়েছে, একটি দুর্দান্ত এপিআই, বিন্যাসকরণ পিছনের দিকে সামঞ্জস্যপূর্ণ থাকার চেষ্টা করে এবং স্থানীয় স্ট্রিংগুলিকে সমর্থন করে।

লোকাল স্ট্রিংগুলি পরিবর্তনের লিঙ্ক: https://gist.github.com/1221376


6

উদাহরণ কোড:

var d = new Date();
var time = d.toISOString().replace(/.*?T(\d+:\d+:\d+).*/, "$1");

আউটপুট:

"13:45:20"


2
toISOString () এর সাথে লক্ষণীয়; এটি ইউটিসিকে আউটপুট করে। সুতরাং new Date();// = Fri Nov 22 2013 17:48:22 GMT+0100, উপরের কোড সহ আউটপুট হবে"16:48:22"
Tewr

6

জাভাস্ক্রিপ্টে তারিখগুলি নিয়ে কাজ করার জন্য লাইব্রেরি সুগার.জেএস এর কিছু দুর্দান্ত কার্যকারিতা রয়েছে। এবং এটি খুব ভাল নথিভুক্ত করা হয়

চিনি ডেট.ক্রেট পদ্ধতিতে শুরু করে ডেট ক্লাসকে অনেক বেশি ভালবাসা দেয় যা "1 ঘন্টা আগে" এর মতো আপেক্ষিক ফর্ম্যাট সহ 15 প্রধান ভাষায় প্রায় কোনও বিন্যাসে তারিখগুলি বুঝতে পারে। তারিখগুলি সাধারণভাবে ব্যবহৃত তারিখের ফর্ম্যাটগুলির শর্টকাট সহ, কোনও বাক্য বিন্যাস বা ভাষায় আউটপুটও হতে পারে। জটিল তারিখের তুলনা যেমন পদ্ধতিগুলির সাথেও সম্ভব, যা কোনও ফর্ম্যাট বোঝে এবং নির্ভুলভাবে অন্তর্নির্মিত প্রয়োগ করে।

কয়েকটি উদাহরণ:

Date.create('July 4, 1776')  -> July 4, 1776
Date.create(-446806800000)   -> November 5, 1955
Date.create(1776, 6, 4)      -> July 4, 1776
Date.create('1776年07月04日', 'ja') -> July 4, 1776
Date.utc.create('July 4, 1776', 'en')  -> July 4, 1776

Date.create().format('{Weekday} {d} {Month}, {yyyy}')    -> Monday July 4, 2003
Date.create().format('{hh}:{mm}')                        -> 15:57
Date.create().format('{12hr}:{mm}{tt}')                  -> 3:57pm
Date.create().format(Date.ISO8601_DATETIME)              -> 2011-07-05 12:24:55.528Z

Date.create().is('the 7th of June') -> false
Date.create().addMonths(2); ->"Sunday, June 15, 2014 13:39"

4

সমস্ত ব্রাউজার

আপনি যে উত্সটি ফর্ম্যাটটি ব্যবহার করছেন তার সাথে তারিখের বিন্যাসের সবচেয়ে নির্ভরযোগ্য উপায় হ'ল নিম্নলিখিত পদক্ষেপগুলি প্রয়োগ করা:

  1. new Date()একটি Dateঅবজেক্ট তৈরি করতে ব্যবহার করুন
  2. ব্যবহার করুন .getDate(), .getMonth()এবং.getFullYear() দিন, মাস এবং বছরের যথাক্রমে পেতে
  3. আপনার লক্ষ্য বিন্যাস অনুযায়ী টুকরা এক সাথে আটকান

উদাহরণ:

var date = '2015-11-09T10:46:15.097Z';

function format(input) {
    var date = new Date(input);
    return [
       ("0" + date.getDate()).slice(-2),
       ("0" + (date.getMonth()+1)).slice(-2),
       date.getFullYear()
    ].join('/');
}

document.body.innerHTML = format(date); // OUTPUT : 09/11/2015

( এই ফিডলটিও দেখুন )।


শুধুমাত্র আধুনিক ব্রাউজারগুলি

আপনি নিজের .toLocaleDateStringজন্য ফর্ম্যাটিং করতে অন্তর্নির্মিত পদ্ধতিটিও ব্যবহার করতে পারেন। সঠিক ফর্ম্যাটের সাথে মেলে তুলতে আপনার যথাযথ লোকেল এবং অপশনগুলি পাশ করা দরকার, যা দুর্ভাগ্যক্রমে কেবল আধুনিক ব্রাউজারগুলি (*) দ্বারা সমর্থিত :

var date = '2015-11-09T10:46:15.097Z';

function format(input) {
    return new Date(input).toLocaleDateString('en-GB', {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit'
    });
}

document.body.innerHTML = format(date); // OUTPUT : 09/11/2015

( এই ফিডলটিও দেখুন )।


(*) এমডিএন অনুসারে , "আধুনিক ব্রাউজারগুলি" এর অর্থ ক্রোম 24+, ফায়ারফক্স 29+, আই 11, এজ 12 +, অপেরা 15+ এবং সাফারি রাতের বিল্ড


3

আমি লিখেছি মাত্র অন্য একটি বিকল্প:

ডিপি_ডেটএক্সটেনশন লাইব্রেরি

এটি সাহায্য করবে কিনা তা নিশ্চিত নয় তবে বেশ কয়েকটি প্রকল্পে এটি দরকারী বলে মনে হয়েছে - দেখে মনে হচ্ছে এটি আপনার যা প্রয়োজন তা করবে।

তারিখ / সময় বিন্যাস, তারিখ গণিত (যোগ / বিয়োগের তারিখের অংশগুলি), তারিখের তুলনা, তারিখ পার্সিং ইত্যাদি সমর্থন করে libe

আপনি যদি ইতিমধ্যে কোনও কাঠামো ব্যবহার করেন তবে তা বিবেচনা করার কোনও কারণ নেই (তারা সকলেই সক্ষম), তবে আপনার যদি প্রয়োজন হয় দ্রুত কোনও প্রকল্পে তারিখ ম্যানিপুলেশন যুক্ত করার সুযোগ দেয় এটির জন্য।


1
আমি অনুমান করি যে নতুন ইউআরএল হতাশাগ্রস্ত হয়
জাভাস্ক্রিপ্ট

2

আপনি যদি দুটি অঙ্ক সহ কেবল সময় দেখাতে চান তবে এটি আপনাকে সহায়তা করতে পারে:

var now = new Date();
var cHour = now.getHours();
var cMinuts = now.getMinutes();
var cSeconds = now.getSeconds();

var outStr = (cHour <= 0 ? ('0' + cHour) : cHour) + ':' + (cMinuts <= 9 ? ('0' + cMinuts) : cMinuts) + ':' + (cSeconds <= 9 ? '0' + cSeconds : cSeconds);


1

JsSimpleDateFormat একটি লাইব্রেরি যা তারিখের অবজেক্টটি ফর্ম্যাট করতে পারে এবং ফর্ম্যাট করা স্ট্রিংটিকে তারিখ অবজেক্টে ফিরে পার্স করতে পারে। এটি জাভা ফর্ম্যাট (সরলডেটফর্ম্যাট ক্লাস) ব্যবহার করে। মাস এবং দিনের নাম স্থানীয় করা যায়।

উদাহরণ:

var sdf = new JsSimpleDateFormat("EEEE, MMMM dd, yyyy");
var formattedString = sdf.format(new Date());
var dateObject = sdf.parse("Monday, June 29, 2009");

1

তারিখের ফর্ম্যাটিং মালিকানাধীন কার্যকারিতা হওয়ায় উত্তরটি "কোথাও" নেই। আমি মনে করি না যে টস্ট্রিং ফাংশনগুলি নির্দিষ্ট বিন্যাসের সাথে সঙ্গতিপূর্ণ। এর নাম ECMAScript 5.1 বৈশিষ্ট যেমন ( http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf , 2/8/2013, পৃষ্ঠা 173), toString ফাংশন নিম্নরূপ নথিভুক্ত করা :

"স্ট্রিংয়ের বিষয়বস্তু বাস্তবায়ন-নির্ভর"

নীচের নমুনাগুলির মতো ফাংশনগুলি বিন্যাসটি মোটামুটি সহজে সম্পাদন করতে ব্যবহৃত হতে পারে।

function pad(toPad, padWith) {
    return (String(padWith) + String(toPad)).slice(-1 * padWith.length);
}

function dateAsInputValue(toFormat) {
    if(!(toFormat instanceof Date)) return null;
    return toFormat.getFullYear() + "-" + pad(toFormat.getMonth() + 1, "00") + "-" + pad(toFormat.getDate(), "00");
}

function timeAsInputValue(toFormat) {
    if(!(toFormat instanceof Date)) return null;        
    return pad(toFormat.getHours(), "00") + ":" + pad(toFormat.getMinutes(), "00") + ":" + pad(toFormat.getSeconds(), "00");
}

1

আপনি সমস্ত বৈশিষ্ট্য প্রয়োজন হবে না যে মত একটি লাইব্রেরি Moment.js প্রদান করে, তারপর আপনি আমার বন্দর ব্যবহার করতে পারেন strftime । এটি লাইটওয়েট (1.35 কেবি বনাম 57.9 কেবি মোমেন্ট.জেএস 2.15.0 এর তুলনায় মিনিটেড) এবং এর বেশিরভাগ কার্যকারিতা সরবরাহ করে strftime()

/* Port of strftime(). Compatibility notes:
 *
 * %c - formatted string is slightly different
 * %D - not implemented (use "%m/%d/%y" or "%d/%m/%y")
 * %e - space is not added
 * %E - not implemented
 * %h - not implemented (use "%b")
 * %k - space is not added
 * %n - not implemented (use "\n")
 * %O - not implemented
 * %r - not implemented (use "%I:%M:%S %p")
 * %R - not implemented (use "%H:%M")
 * %t - not implemented (use "\t")
 * %T - not implemented (use "%H:%M:%S")
 * %U - not implemented
 * %W - not implemented
 * %+ - not implemented
 * %% - not implemented (use "%")
 *
 * strftime() reference:
 * http://man7.org/linux/man-pages/man3/strftime.3.html
 *
 * Day of year (%j) code based on Joe Orost's answer:
 * http://stackoverflow.com/questions/8619879/javascript-calculate-the-day-of-the-year-1-366
 *
 * Week number (%V) code based on Taco van den Broek's prototype:
 * http://techblog.procurios.nl/k/news/view/33796/14863/calculate-iso-8601-week-and-year-in-javascript.html
 */
function strftime(sFormat, date) {
  if (!(date instanceof Date)) date = new Date();
  var nDay = date.getDay(),
    nDate = date.getDate(),
    nMonth = date.getMonth(),
    nYear = date.getFullYear(),
    nHour = date.getHours(),
    aDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
    aMonths = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
    aDayCount = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
    isLeapYear = function() {
      if (nYear&3!==0) return false;
      return nYear%100!==0 || year%400===0;
    },
    getThursday = function() {
      var target = new Date(date);
      target.setDate(nDate - ((nDay+6)%7) + 3);
      return target;
    },
    zeroPad = function(nNum, nPad) {
      return ('' + (Math.pow(10, nPad) + nNum)).slice(1);
    };
  return sFormat.replace(/%[a-z]/gi, function(sMatch) {
    return {
      '%a': aDays[nDay].slice(0,3),
      '%A': aDays[nDay],
      '%b': aMonths[nMonth].slice(0,3),
      '%B': aMonths[nMonth],
      '%c': date.toUTCString(),
      '%C': Math.floor(nYear/100),
      '%d': zeroPad(nDate, 2),
      '%e': nDate,
      '%F': date.toISOString().slice(0,10),
      '%G': getThursday().getFullYear(),
      '%g': ('' + getThursday().getFullYear()).slice(2),
      '%H': zeroPad(nHour, 2),
      '%I': zeroPad((nHour+11)%12 + 1, 2),
      '%j': zeroPad(aDayCount[nMonth] + nDate + ((nMonth>1 && isLeapYear()) ? 1 : 0), 3),
      '%k': '' + nHour,
      '%l': (nHour+11)%12 + 1,
      '%m': zeroPad(nMonth + 1, 2),
      '%M': zeroPad(date.getMinutes(), 2),
      '%p': (nHour<12) ? 'AM' : 'PM',
      '%P': (nHour<12) ? 'am' : 'pm',
      '%s': Math.round(date.getTime()/1000),
      '%S': zeroPad(date.getSeconds(), 2),
      '%u': nDay || 7,
      '%V': (function() {
              var target = getThursday(),
                n1stThu = target.valueOf();
              target.setMonth(0, 1);
              var nJan1 = target.getDay();
              if (nJan1!==4) target.setMonth(0, 1 + ((4-nJan1)+7)%7);
              return zeroPad(1 + Math.ceil((n1stThu-target)/604800000), 2);
            })(),
      '%w': '' + nDay,
      '%x': date.toLocaleDateString(),
      '%X': date.toLocaleTimeString(),
      '%y': ('' + nYear).slice(2),
      '%Y': nYear,
      '%z': date.toTimeString().replace(/.+GMT([+-]\d+).+/, '$1'),
      '%Z': date.toTimeString().replace(/.+\((.+?)\)$/, '$1')
    }[sMatch] || sMatch;
  });
}

নমুনা ব্যবহার:

strftime('%F'); // Returns "2016-09-15"
strftime('%A, %B %e, %Y'); // Returns "Thursday, September 15, 2016"

// You can optionally pass it a Date object...

strftime('%x %X', new Date('1/1/2016')); // Returns "1/1/2016 12:00:00 AM"

সর্বশেষতম কোডটি এখানে উপলভ্য: https://github.com/thdoan/strftime


0

"2012-12-29" ফেরতের তারিখ ফর্ম্যাট করার সঠিক উপায়টি জাভাস্ক্রিপ্টের তারিখ বিন্যাসের স্ক্রিপ্ট সহ :

var d1 = new Date();
return d1.format("dd-m-yy");

এই কোডটি কাজ করে না:

var d1 = new Date();
d1.toString('yyyy-MM-dd');      

3
আপনার উপরে লিঙ্কযুক্ত "জাভাস্ক্রিপ্ট তারিখ ফর্ম্যাট" দরকার
সেবাস্তিয়ান ভাইরেক

0

ব্যক্তিগতভাবে, যেহেতু আমি পিএইচপি এবং jQuery / জাভাস্ক্রিপ্ট উভয়ই সমান পদক্ষেপে ব্যবহার করি, তাই আমি পিএইচপি.জেএস থেকে ডেট ফাংশনটি ব্যবহার করি http://phpjs.org/funitions/date/

আমার কাছে ইতিমধ্যে জানা কিছু হিসাবে একই বিন্যাসের স্ট্রিংগুলি ব্যবহার করে এমন একটি লাইব্রেরি ব্যবহার করা আমার পক্ষে সহজ এবং তারিখ ফাংশনের জন্য বিন্যাসের স্ট্রিংয়ের সমস্ত সম্ভাবনা সম্বলিত ম্যানুয়াল অবশ্যই পিএইচপি.এন.এতে অনলাইনে রয়েছে

আপনি নিজের পছন্দসই পদ্ধতিটি ব্যবহার করে আপনার HTML এ ডেট.জেএস ফাইলটি কেবল অন্তর্ভুক্ত করেন তারপরে এটিকে কল করুন:

var d1=new Date();
var datestring = date('Y-m-d', d1.valueOf()/1000);

আপনি চাইলে ভ্যালুঅফ () এর পরিবর্তে d1.getTime () ব্যবহার করতে পারেন, তারা একই কাজ করে।

জাভাস্ক্রিপ্ট টাইমস্ট্যাম্পের 1000 দ্বারা বিভাজন কারণ জাভাস্ক্রিপ্ট টাইমস্ট্যাম্পটি মিলি সেকেন্ডে রয়েছে তবে একটি পিএইচপি টাইমস্ট্যাম্প সেকেন্ডে।


0

অনেক ফ্রেমওয়ার্ক (যা আপনি ইতিমধ্যে ব্যবহার করতে পারেন) এর তারিখের ফর্ম্যাটিং রয়েছে যা আপনি জানেন না। jQueryUI ইতিমধ্যে উল্লেখ করা হয়েছে, কিন্তু এই ধরনের অন্যান্য অবকাঠামো Kendo UI 'তে (বিশ্বায়ন) , ইয়াহু UI' তে (util) এবং AngularJS তাদের পাশাপাশি আছে।

// 11/6/2000
kendo.toString(new Date(value), "d")

// Monday, November 06, 2000
kendo.toString(new Date(2000, 10, 6), "D")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.