আইএসও 8601 তারিখের সাথে yyyy-mm-dd ফর্ম্যাট থাকার তারিখটি কীভাবে পেতে পারি ?
আমার 8601 তারিখটি
2013-03-10T02:00:00Z
আমি কিভাবে নিম্নলিখিত পেতে পারি?
2013-03-10
আইএসও 8601 তারিখের সাথে yyyy-mm-dd ফর্ম্যাট থাকার তারিখটি কীভাবে পেতে পারি ?
আমার 8601 তারিখটি
2013-03-10T02:00:00Z
আমি কিভাবে নিম্নলিখিত পেতে পারি?
2013-03-10
date.split("T")[0]
করবেন
উত্তর:
এটা চেষ্টা কর
date = new Date('2013-03-10T02:00:00Z');
date.getFullYear()+'-' + (date.getMonth()+1) + '-'+date.getDate();//prints expected format.
হালনাগাদ:-
মন্তব্যে নির্দেশিত হিসাবে, আমি প্রয়োজনে তারিখ এবং মাসের জন্য নেতৃস্থানীয় শূন্যগুলি মুদ্রণের উত্তর আপডেট করছি।
date = new Date('2013-08-03T02:00:00Z');
year = date.getFullYear();
month = date.getMonth()+1;
dt = date.getDate();
if (dt < 10) {
dt = '0' + dt;
}
if (month < 10) {
month = '0' + month;
}
console.log(year+'-' + month + '-'+dt);
কেবল স্ট্রিং ক্রপ করুন:
var date = new Date("2013-03-10T02:00:00Z");
date.toISOString().substring(0, 10);
অথবা আপনার যদি স্ট্রিংয়ের কেবলমাত্র তারিখের প্রয়োজন হয়।
var strDate = "2013-03-10T02:00:00Z";
strDate.substring(0, 10);
YYYYY-MM-DD
10000 বছরে থাকবে । এটি এড়াতে আপনি বিভক্ত হতে পারেন T
পরিবর্তে চরিত্র। (দেখুন en.wikipedia.org/wiki/Year_10,000_problem )
আপনি সুন্দর তারিখের কারসাজির জন্য মোমেন্ট.জেএস , লাক্সন , ডেট-এফএনএস বা ডে.জেএস চেকআউট করতে পারেন ।
অথবা কেবল আপনার আইএসও স্ট্রিংয়ের প্রথম অংশটি বের করুন, এতে ইতিমধ্যে আপনি যা চান তা রয়েছে। এখানে বিভক্ত হয়ে একটি উদাহরণ T
:
"2013-03-10T02:00:00Z".split("T")[0] // "2013-03-10"
কেবলমাত্র তারিখ পেতে আমি এটিই করি:
let isoDate = "2013-03-10T02:00:00Z";
alert(isoDate.split("T")[0]);
Moment.js আপনার জন্য তারিখ বিন্যাস পরিচালনা করবে। এটি একটি জাভাস্ক্রিপ্ট ট্যাগের মাধ্যমে কীভাবে অন্তর্ভুক্ত করবেন এবং তারপরে একটি তারিখের ফর্ম্যাট করতে মোমেন্ট.জেএস কীভাবে ব্যবহার করবেন তার উদাহরণ এখানে।
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
moment("2013-03-10T02:00:00Z").format("YYYY-MM-DD") // "2013-03-10"
moment
কেবলমাত্র বিন্যাসকরণের জন্য ব্যবহার করার জন্য একটি বিশাল বিশাল গ্রন্থাগার। বরং ডেট-এফএনএস ব্যবহার করুন যা আকারে অনেক ছোট এবং একই কার্যকারিতা দেয়।
.toISODateString()
, কারণ এটি খুব ঘন ঘন ঘটনা ...
একক ব্যবহারের ক্ষেত্রে মোমেন্ট.জেএস হ'ল বেশ বড় লাইব্রেরি। আমি date-fns
পরিবর্তে ব্যবহার করার পরামর্শ দিচ্ছি । এটি মূলত অনেক ছোট বান্ডিল আকার এবং অনেকের সাথে মোমেন্ট.জেএস এর সর্বাধিক কার্যকারিতা সরবরাহ করে formatting options
।
import format from 'date-fns/format'
format('2013-03-10T02:00:00Z', 'YYYY-MM-DD'); // 2013-03-10, YYYY-MM-dd for 2.x
একটি বিষয় লক্ষণীয়, এটি যেহেতু এটি আইএসও 8601 টাইম ফর্ম্যাট, তাই ব্রাউজারটি সাধারণত ইউটিসি সময় থেকে স্থানীয় সময় অঞ্চলে রূপান্তর করে। যদিও এটি সাধারণ ব্যবহারের ক্ষেত্রে আপনি সম্ভবত এটি করতে পারেন '2013-03-10T02:00:00Z'.substring(0, 10);
।
আরও জটিল রূপান্তরগুলির date-fns
জন্য যাওয়ার উপায়।
let isoDate = "2013-03-10T02:00:00Z";
var d = new Date(isoDate);
d.toLocaleDateString('en-GB'); // dd/mm/yyyy
d.toLocaleDateString('en-US'); // mm/dd/yyyy
তারিখ অবজেক্টে আপনার তারিখটি পাস করুন:
var d = new Date('2013-03-10T02:00:00Z');
d.toLocaleDateString().replace(/\//g, '-');
তারিখটি পাওয়ার জন্য যারা বিভাজন, স্লাইস এবং অন্যান্য স্ট্রিং-ভিত্তিক প্রচেষ্টা ব্যবহার করছেন তাদের কাছে আপনি টাইমজোন সম্পর্কিত ব্যর্থতার জন্য নিজেকে সেট আপ করতে পারেন!
কোনও আইএসও-স্ট্রিংয়ের জুলু-টাইমজোন এবং এই টাইমজোন অনুসারে একটি তারিখ রয়েছে, যার অর্থ এটি আসল টাইমজোনটির একদিন আগে বা পরে একটি তারিখ ব্যবহার করতে পারে, যা আপনাকে আপনার রূপান্তর শৃঙ্খলে বিবেচনায় নিতে হবে।
এই উদাহরণটি দেখুন:
const timeZoneRelatedDate = new Date(2020, 0, 14, 0, 0);
console.log(timeZoneRelatedDate.toLocaleDateString(
'ja-JP',
{
year: 'numeric',
month: '2-digit',
day: '2-digit'
}
).replace(/\//gi,'-'));
// RESULT: "2020-01-14"
console.log(timeZoneRelatedDate.toISOString());
// RESULT: "2020-01-13T23:00:00.000Z" (for me in UTC+1)
console.log(timeZoneRelatedDate.toISOString().slice(0,10));
// RESULT: "2020-01-13"
আপনার যদি একটি তারিখ অবজেক্ট থাকে:
let date = new Date()
let result = date.toISOString().split`T`[0]
console.log(result)
বা
let date = new Date()
let result = date.toISOString().slice(0, 10)
console.log(result)
উপর প্রসারিত করতে আর কে আর কে 'সমাধান গুলি : যদি আপনি সময় অন্তর্ভুক্ত করা বিন্যাস চান, আপনি যোগ করতে পারেন toTimeString()
আপনার স্ট্রিং, এবং তারপর জিএমটি অংশ স্ট্রিপ, যেমন নিম্নরূপ:
var d = new Date('2013-03-10T02:00:00Z');
var fd = d.toLocaleDateString() + ' ' + d.toTimeString().substring(0, d.toTimeString().indexOf("GMT"));
আমি এটি ব্যবহার করেছি:
HTMLDatetoIsoDate(htmlDate){
let year = Number(htmlDate.toString().substring(0, 4))
let month = Number(htmlDate.toString().substring(5, 7))
let day = Number(htmlDate.toString().substring(8, 10))
return new Date(year, month - 1, day)
}
isoDateToHtmlDate(isoDate){
let date = new Date(isoDate);
let dtString = ''
let monthString = ''
if (date.getDate() < 10) {
dtString = '0' + date.getDate();
} else {
dtString = String(date.getDate())
}
if (date.getMonth()+1 < 10) {
monthString = '0' + Number(date.getMonth()+1);
} else {
monthString = String(date.getMonth()+1);
}
return date.getFullYear()+'-' + monthString + '-'+dtString
}
সূত্র: http://gooplus.fr/en/2017/07/13/angular2-typescript-isodate-to-html-date/
var d = new Date("Wed Mar 25 2015 05:30:00 GMT+0530 (India Standard Time)");
alert(d.toLocaleDateString());
নীচের কোডটি ব্যবহার করুন। এটা আপনার জন্য দরকারী।
let currentDate = new Date()
currentDate.toISOString()