2015 আপডেট
এটি একটি পুরানো প্রশ্ন তবে অন্যান্য নতুন প্রশ্ন যেমন:
এটির সদৃশ হিসাবে বন্ধ হয়ে যান, তাই আমি এখানে কিছু টাটকা তথ্য যুক্ত করা গুরুত্বপূর্ণ বলে মনে করি। আমি এটি লিখছি কারণ আমি ভেবে ভীত হয়ে পড়েছিলাম যে লোকেরা আসলে এখানে পোস্ট করা কিছু কোড অনুলিপি করে পেস্ট করে এবং উত্পাদনে এটি ব্যবহার করে।
এখানে বেশিরভাগ উত্তরগুলি হয় কিছু জটিল নিয়মিত এক্সপ্রেশন ব্যবহার করে যা কেবলমাত্র খুব নির্দিষ্ট নির্দিষ্ট ফর্ম্যাটের সাথে মেলে এবং আসলে এটি ভুলভাবে করে (যেমন জানুয়ারীর 32 শে মেয়ের সাথে মিলিত হওয়ার সাথে সাথে সত্যিকারের আইএসও তারিখের বিজ্ঞাপনের সাথে মিল নেই - ডেমো দেখুন ) অথবা তারা Date
নির্মাণকারীর কাছে কোনও কিছু দেওয়ার চেষ্টা করে এবং সেরা জন্য শুভেচ্ছা।
মোমেন্ট ব্যবহার করা হচ্ছে
যেমনটি আমি এই উত্তরে ব্যাখ্যা করেছি যে বর্তমানে এটির জন্য একটি গ্রন্থাগার রয়েছে:
মোমেন্ট.জেএস
এটি জাভাস্ক্রিপ্টে পার্স, বৈধতা, পরিচালনা ও তারিখ প্রদর্শন করার জন্য একটি লাইব্রেরি যা মানক জাভাস্ক্রিপ্টের তারিখ হ্যান্ডলিংয়ের ক্রিয়াকলাপগুলির চেয়ে অনেক বেশি সমৃদ্ধ এপিআই রয়েছে।
এটি 12 কেবি মিনিফাইড / জিজেপড এবং নোড.জেএস এবং অন্যান্য জায়গায় কাজ করে:
bower install moment --save # bower
npm install moment --save # npm
Install-Package Moment.js # NuGet
spm install moment --save # spm
meteor add momentjs:moment # meteor
মোমেন্ট ব্যবহার করে আপনি বৈধ তারিখগুলি পরীক্ষা করতে খুব সুনির্দিষ্ট হতে পারেন। কখনও কখনও আপনার প্রত্যাশা করা ফর্ম্যাটটি সম্পর্কে কিছু সূত্র যুক্ত করা খুব গুরুত্বপূর্ণ। উদাহরণস্বরূপ, 06/22/2015 এর মতো একটি তারিখ বৈধ তারিখের মতো দেখায়, যদি না আপনি ডিডি / এমএম / ওয়াইওয়াই ফর্ম্যাট ব্যবহার করেন তবে এই তারিখটি অবৈধ হিসাবে প্রত্যাখ্যান করা উচিত। আপনি কীভাবে আপনি কী ফর্ম্যাটটি প্রত্যাশা করছেন তা মোমেন্টকে বলতে পারবেন এমন কয়েকটি উপায় রয়েছে, উদাহরণস্বরূপ:
moment("06/22/2015", "MM/DD/YYYY", true).isValid(); // true
moment("06/22/2015", "DD/MM/YYYY", true).isValid(); // false
true
যুক্তি তাই মোমেন্ট ইনপুট বিশ্লেষণ করতে হলে না চেষ্টা করবে না হয় ঠিক প্রদত্ত ফরম্যাটের এক সাথে সামঞ্জস্য (এটা আমার মতে একটি ডিফল্ট আচরণ কেমন হওয়া উচিত)।
আপনি অভ্যন্তরীণভাবে সরবরাহিত ফর্ম্যাটটি ব্যবহার করতে পারেন:
moment("2015-06-22T13:17:21+0000", moment.ISO_8601, true).isValid(); // true
এবং আপনি অ্যারে হিসাবে একাধিক ফর্ম্যাট ব্যবহার করতে পারেন:
var formats = [
moment.ISO_8601,
"MM/DD/YYYY :) HH*mm*ss"
];
moment("2015-06-22T13:17:21+0000", formats, true).isValid(); // true
moment("06/22/2015 :) 13*17*21", formats, true).isValid(); // true
moment("06/22/2015 :( 13*17*21", formats, true).isValid(); // false
দেখুন: ডেমো ।
অন্যান্য গ্রন্থাগার
আপনি যদি মোমেন্ট.জেএস ব্যবহার করতে না চান তবে অন্যান্য লাইব্রেরিও রয়েছে:
2016 আপডেট
আমি অস্থায়ী মডিউলটি তৈরি করেছি যা মুহুর্তের মতো (একটি উপসেট) তবে বিদ্যমান অবজেক্টগুলির রূপান্তর দ্বারা সৃষ্ট বিস্ময় ছাড়াই ( আরও তথ্যের জন্য ডক্স দেখুন)।
2018 আপডেট
আজ আমি মোমেন্টের পরিবর্তে তারিখ / সময় ম্যানিপুলেশনের জন্য লাক্সন ব্যবহার করার পরামর্শ দিচ্ছি , যা (মুহুর্তের বিপরীতে) সমস্ত বস্তুকে অপরিবর্তনীয় করে তোলে তাই খেজুরের স্পষ্ট পরিবর্তনের সাথে সম্পর্কিত কোনও বাজে আশ্চর্যের কিছু নেই।
অধিক তথ্য
আরো দেখুন:
জাভাস্ক্রিপ্ট তারিখ পার্সিং লাইব্রেরিতে রব গ্র্যাভেলের লেখা নিবন্ধগুলির একটি সিরিজ:
শেষের সারি
অবশ্যই যে কেউ চাকাটিকে পুনরায় উদ্ভাবন করতে, একটি নিয়মিত এক্সপ্রেশন লিখতে পারেন (তবে এটি করার আগে দয়া করে আইএসও 8601 এবং আরএফসি 3339 পড়ুন) বা ত্রুটি বার্তাগুলির পার্স করার জন্য এলোমেলো ডেটা সহ বাইট-ইন কনস্ট্রাক্টরকে কল করুন 'Invalid Date'
(আপনি কি নিশ্চিত যে এই বার্তাটি সমস্ত প্ল্যাটফর্মে ঠিক একই রকম ? সমস্ত লোকেলগুলিতে? ভবিষ্যতে?) বা আপনি একটি পরীক্ষিত সমাধান ব্যবহার করতে পারেন এবং এটির উন্নতি করতে আপনার সময় ব্যবহার করতে পারেন, পুনরায় উদ্ভাবন না করে not এখানে তালিকাভুক্ত সমস্ত লাইব্রেরি ওপেন সোর্স, ফ্রি সফটওয়্যার।