উত্তর:
setHoursপদ্ধতি ঐচ্ছিক নিতে পারেন minutes, secondsএবং msআর্গুমেন্ট, উদাহরণস্বরূপ:
var d = new Date();
d.setHours(0,0,0,0);
যে সময় সেট হবে 00:00:00.000এর আপনার বর্তমান সময় অঞ্চল , যদি আপনি ইউটিসি সময়ে কাজ করতে চাই, আপনি ব্যবহার করতে পারেন setUTCHoursপদ্ধতি।
new Date(new Date().setHours(0,0,0,0))।
কেবল স্পষ্ট করে বলতে চেয়েছিলেন যে গৃহীত উত্তর থেকে স্নিপেট অতীতের নিকটতম মধ্যরাত দেয় :
var d = new Date();
d.setHours(0,0,0,0); // last midnight
আপনি যদি ভবিষ্যতে নিকটতম মধ্যরাত পেতে চান তবে নিম্নলিখিত কোডটি ব্যবহার করুন:
var d = new Date();
d.setHours(24,0,0,0); // next midnight
অবজেক্ট কনফিগারেশনের জন্য একটি ওয়ান-লাইনার:
new Date(new Date().setHours(0,0,0,0));
কোনও উপাদান তৈরি করার সময়:
dateFieldConfig = {
name: "mydate",
value: new Date(new Date().setHours(0, 0, 0, 0)),
}
কেবল এখানে এটি যুক্ত করতে চলেছি কারণ আমি কীভাবে মুহুর্তে এটি করব তা সন্ধান করতে এই পৃষ্ঠায় অবতরণ করেছি jjs এবং অন্যরাও এটি করতে পারে।
[যুক্তি: "মুহুর্ত" শব্দটি ইতিমধ্যে এই পৃষ্ঠায় অন্য কোথাও উপস্থিত রয়েছে তাই অনুসন্ধান ইঞ্জিনগুলি এখানে সরাসরি নির্দেশ দেয় এবং মুহুর্ত.জেগুলি অন্যান্য তারিখ সম্পর্কিত এসও প্রশ্নগুলিতে এটি কতবার উল্লেখ করা হয়েছে তা কভার করার বিষয়ে ওয়্যারেন্ট দেওয়ার পক্ষে যথেষ্ট বিস্তৃত]
সুতরাং, সংস্করণে ২.০.০ এবং তারপরে:
date.startOf('day');
পূর্ববর্তী সংস্করণগুলির জন্য:
date.sod();
দস্তাবেজ:
moment(DATE_OBJECT).startOf('day').toDate();
আপনি সম্ভবত ব্যবহার করতে পারেন
new Date().setUTCHours(0,0,0,0)
আপনার যদি একবারে মান প্রয়োজন হয়।
@ ড্যানের উদাহরণে উপযোগ যুক্ত করার পরে, আমার পরের মধ্যাহ্ন বা মধ্যরাতের সন্ধানের প্রয়োজন ছিল।
var d = new Date();
if(d.getHours() < 12) {
d.setHours(12,0,0,0); // next midnight/midday is midday
} else {
d.setHours(24,0,0,0); // next midnight/midday is midnight
}
এটি আমাকে একটি ইভেন্টের জন্য একটি ফ্রিকোয়েন্সি ক্যাপ সেট করার অনুমতি দেয়, কেবল এটিই আমার সাইটে যে কোনও দর্শনার্থীর জন্য সকালে এবং বিকেলে একবার ঘটতে দেয়। ক্যাপচারের মেয়াদ নির্ধারণের জন্য ক্যাপচারের তারিখটি ব্যবহার করা হত।
গ্রীষ্মকালীন তারিখগুলি সহ গণনা করা হলে প্রায়শই 1 ইউরোর বেশি বা মাঝরাতের চেয়ে এক ঘন্টা কম (সিইএসটি) হয়ে থাকে। তারিখগুলি ফিরে আসার কারণে এটি 1 দিনের পার্থক্য সৃষ্টি করে। সুতরাং তারিখগুলি নিকটতম মধ্যরাত পর্যন্ত গোল করতে হবে। সুতরাং কোডটি হবে (জ্যামিসন থেকে মজাদার):
var d = new Date();
if(d.getHours() < 12) {
d.setHours(0,0,0,0); // previous midnight day
} else {
d.setHours(24,0,0,0); // next midnight day
}
আমার জন্য এটি পরিচালনা করার জন্য আমি একটি দম্পতি প্রোটোটাইপ তৈরি করেছি।
// This is a safety check to make sure the prototype is not already defined.
Function.prototype.method = function (name, func) {
if (!this.prototype[name]) {
this.prototype[name] = func;
return this;
}
};
Date.method('endOfDay', function () {
var date = new Date(this);
date.setHours(23, 59, 59, 999);
return date;
});
Date.method('startOfDay', function () {
var date = new Date(this);
date.setHours(0, 0, 0, 0);
return date;
});
আপনি যদি নিরাপদ চেকটি চান না, তবে আপনি কেবল ব্যবহার করতে পারেন
Date.prototype.startOfDay = function(){
/*Method body here*/
};
ব্যবহারের উদাহরণ:
var date = new Date($.now()); // $.now() requires jQuery
console.log('startOfDay: ' + date.startOfDay());
console.log('endOfDay: ' + date.endOfDay());
আপনার প্রকল্পের নির্ভরতা হিসাবে ইতিমধ্যে আপনার কাছে d3.js রয়েছে বা এটিকে আনতে কিছু মনে করবেন না, d3- সময় ( d3.js গ্রন্থাগারটি v4.0.0 অনুযায়ী মডুলার ) অন্তর অন্তর পেয়েছে ।
"ডিফল্ট" মানগুলিতে তারিখ নির্ধারণ করার সময় এগুলি দরকারী প্রমাণিত হতে পারে, যেমন মধ্যরাত, ০.০০ সেকেন্ড, মাসের প্রথম ইত্যাদি etc.
var d = new Date(); // Wed Aug 02 2017 15:01:07 GMT+0200 (CEST)
d3.timeHour(d) // Wed Aug 02 2017 00:00:00 GMT+0200 (CEST)
d3.timeMonth(d) // Tue Aug 01 2017 00:00:00 GMT+0200 (CEST)