আমি একটি ক্যালেন্ডার তৈরি করছি যেখানে আমি টবুলার ফর্ম্যাটে সপ্তাহগুলি মুদ্রণ করি। একটি প্রয়োজন হ'ল আমি কিছু ব্যবহারকারীর বিকল্প অনুযায়ী সপ্তাহগুলি সোমবার বা রবিবারে শুরু করতে সক্ষম হব। মুহুর্তের আইসওউইকডে পদ্ধতি ব্যবহার করে আমার বেশ কষ্ট হচ্ছে ।
// Start of some date range. Can be any day of the week.
var startOfPeriod = moment("2013-06-23T00:00:00"),
// We begin on the start of the first week.
// Mon Tues Wed Thur Fri Sat Sun
// 20 21 22 23 24 25 26
begin = moment(startOfPeriod).isoWeekday(1); // will pull from user setting
console.log(begin.isoWeekday()); // 1 - all good
// Let's get the beginning of this first week, respecting the isoWeekday
begin.startOf('week');
console.log(begin.isoWeekday()); // 7 - what happened ???
// Get column headers
for (var i=0; i<7; i++) {
console.log(begin.format('ddd')); // I want Monday first!
begin.add('d', 1);
}
সম্পাদনা সম্পাদনা আমি isoWeekday
আসলে কী করছে তা ভুল বুঝেছিলাম । আমি ভেবেছিলাম এটি "সপ্তাহের কোন দিনটি সপ্তাহের প্রথম দিন" পরিবর্তনশীল (যা বিদ্যমান নেই) সেট করে। এটি আসলে যা করে তা হ'ল সপ্তাহের দিনটিকে ঠিক moment.weekday()
বদলে দেওয়া, তবে 0-6 এর পরিবর্তে 1-7 রেঞ্জ ব্যবহার করে।
startOf('week')
বর্তমান লোকেলের উপর নির্ভর করে যেখানে রবিবার স্পষ্টতই আপনার ক্ষেত্রে সপ্তাহের শুরু চিহ্নিত করে।startOf('iweek')
সোমবার, যা সপ্তাহের আইএসও শুরু করবে। তবে আপনি ঠিক বলেছেন, আমি অফিসিয়াল সাইটে কোনও ডকুমেন্টেশন