জাভাস্ক্রিপ্ট কেন দিন এবং মাসকে আলাদাভাবে আচরণ করে?


42

আমি লক্ষ করেছি যে জাভাস্ক্রিপ্টে, তৈরি করার সময় Date, মাসগুলি শূন্য ভিত্তিক হয়, এবং দিনগুলি হয় না।

উদাহরণ স্বরূপ:

var foo = new Date(2012, 1, 1)

1 ই ফেব্রুয়ারী 2012 উত্পাদন করে

কেন?


6
months = ['Jan', 'Feb',..., 'Nov', 'Dec']; month = months[date.getMonth()];
zzzzBov

উত্তর:


50

সম্ভবত ধারণাটি হ'ল, মাসগুলি মাসের নামের একটি অ্যারেতে সূচক হিসাবে বিবেচিত হয়, যখন দিনগুলি কেবল "গণনা করা হয়"।


21
যেখানে এটি উত্তরের অবস্থান থেকে বোঝা যায়, এই যুক্তিটি কত দিন ধরে চলেছে তা ভাবতে ভাবতে ব্যাট ক্রেপ পাগল এবং আমি এর আগে কখনও জিজ্ঞাসাবাদ করিনি।
rlemon

2
@ রলেমন আপনি যে যুক্তি নিয়ে প্রশ্ন করেছেন তা আগে কখনও প্রমাণিত হয়নি যে এটি প্রমাণিত হয়েছে :)
dasblinkenlight

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

2
এফডব্লিউআইডাব্লু, আমি ফ্রন্ট এন্ড বিকাশকারী নই এবং প্রায়শই জাভাস্ক্রিপ্টে তারিখগুলি মাঝে মাঝে বাদ দিয়ে ডিল করতে হবে নাnew Date().getTime()
রেলমন

20
যখন জাভাস্ক্রিপ্টের কথা আসে, "এই কারণেই তারা এটি করেছিল" এবং "এটি একটি ভাল ধারণা দেয়" এমন দুটি জিনিস যা আপনি খুব কমই একসাথে শুনে থাকেন।
ট্রিডাস

14

এটিও হতে পারে যে জাভাস্ক্রিপ্টের তারিখগুলি জাভা তারিখের অনুকরণে বোঝানো হয়েছিল। জাভা শুরু থেকেই একইভাবে শূন্য ভিত্তিক মাস ব্যবহার করেছে।

জেডিকে এপিআই v1.0.2: তারিখ.সেটমথ ()


6
এবং জাভা স্পেস মিরর সি টিএম কাঠামো। আরও দেখুন stackoverflow.com/questions/344380/...

35
এটি যে জাভা ডেট এপিআই ভাল ডিজাইনের একটি মারাত্মক ভাল উদাহরণ ;-)
জোছিম Sauer
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.