Tech Help

Unix Timestamp সেকেন্ড বনাম মিলিসেকেন্ড: তারিখ কেন 1970 দেখায়

Unix timestamp যদি 1970-এর কাছাকাছি তারিখ হয়, প্রায়ই সেকেন্ডকে মিলিসেকেন্ড পড়া হয়েছে। একক কীভাবে আলাদা করবেন।

সংক্ষিপ্ত উত্তর

Unix timestamp যদি 1970-এর কাছাকাছি তারিখ দেয়, মান প্রায়ই ভুল এককে ব্যাখ্যা হচ্ছে।

Unix timestamps সাধারণত সেকেন্ড ব্যবহার করে; JavaScript Date সাধারণত মিলিসেকেন্ড।

আধুনিক 10 অঙ্কের timestamp প্রায়ই সেকেন্ড, 13 অঙ্কের প্রায়ই মিলিসেকেন্ড। একক না মিললে 1,000 দিয়ে গুণ বা ভাগ লাগতে পারে।

timestamp তারিখে বদলালেন আর জানুয়ারি 1970-এ পৌঁছালেন। ঘড়ি প্রায় কখনোই ভাঙা নয়। সংখ্যা মিলিসেকেন্ড পড়া হয়েছে যখন সেকেন্ডে সংরক্ষিত ছিল—বা উল্টোটা।

Unix timestamp কী?

Unix timestamp সময় মাপে Unix epoch থেকে: 1970-01-01 00:00:00 UTC। সাধারণত পূর্ণ সেকেন্ড। একই মুহূর্ত মিলিসেকেন্ডেও রাখা যায় (সেকেন্ড × 1,000)। সংখ্যা নিজে একক বলে না।

সেকেন্ড বনাম মিলিসেকেন্ড: 1,000 গুণ পার্থক্য

এক সেকেন্ড 1,000 মিলিসেকেন্ড। 1720000000-এর সঙ্গে 1720000000000 তুলনা করুন। প্রথমটি সেকেন্ড ও দ্বিতীয়টি মিলিসেকেন্ড হলে একই মুহূর্ত। প্রথমটিকে মিলিসেকেন্ড পড়লে তারিখ 1970-এর দিকে লাফায়।

এই UTC ফল উপরের সংখ্যা থেকে গণনা, অনুমান নয়।

মান সম্ভাব্য একক ব্যাখ্যা (UTC)
1720000000 সেকেন্ড সেকেন্ড পড়লে আধুনিক তারিখ: 2024-07-03 09:46:40 UTC
1720000000000 মিলিসেকেন্ড মিলিসেকেন্ড পড়লে একই মুহূর্ত: 2024-07-03 09:46:40 UTC
1720000000 মিলিসেকেন্ড হিসেবে ভুল একক 1970-এর কাছাকাছি তারিখ: 1970-01-20 21:46:40 UTC

আমার timestamp কেন 1970 দেখায়?

সেকেন্ডের মানকে মিলিসেকেন্ড ধরলে সংখ্যা প্রয়োজনের চেয়ে 1,000 গুণ ছোট। JavaScript তখন Unix epoch-এর পর শুধু ছোট ব্যবধান গণে, তাই তারিখ 1970-এ থাকে:

const seconds = 1720000000;

new Date(seconds);
// 1970-01-20 21:46:40 UTC

new Date(seconds * 1000);
// 2024-07-03 09:46:40 UTC

সেই 1970 তারিখ epoch প্লাস প্রায় দুই সপ্তাহ। Date-এ দেওয়ার আগে সেকেন্ডকে 1,000 দিয়ে গুণ করুন।

  • সেকেন্ড
  • 1720000000
  • মিলিসেকেন্ড
  • 1720000000000
একই মুহূর্ত: সেকেন্ড × 1,000 = মিলিসেকেন্ড।
  • সেকেন্ডের মান
  • ভুল করে মিলিসেকেন্ড ধরা হয়েছে
  • 1970-এর কাছাকাছি তারিখ
সেকেন্ডকে মিলিসেকেন্ড পড়লে Unix epoch-এর কাছে পড়ে।
সেকেন্ড না মিলিসেকেন্ড?

ফল 1970-এর কাছাকাছি হলে সময় অঞ্চল খোঁজার আগে timestamp-এর একক দেখুন।

১০ অঙ্ক কি সেকেন্ড আর ১৩ অঙ্ক মিলিসেকেন্ড?

আধুনিক তারিখে 10 অঙ্ক প্রায়ই সেকেন্ড, 13 প্রায়ই মিলিসেকেন্ড। এটা দ্রুত ইঙ্গিত, যাচাইয়ের নিয়ম নয়। অঙ্ক সংখ্যা সময়সীমার সঙ্গে বদলায়, কিছু API মাইক্রোসেকেন্ড বা ন্যানোসেকেন্ড রাখে। একক ডকুমেন্টেশন বা অর্থপূর্ণ তারিখ দিয়ে নিশ্চিত করুন।

এটা JavaScript-এ এত ঘন ঘন কেন হয়

JavaScript-এ সংখ্যাসূচক Date epoch থেকে মিলিসেকেন্ড। অনেক ব্যাকএন্ড, ডেটাবেস ও Unix টুল এখনো সেকেন্ড রাখে। সেকেন্ড সোজা Date-এ দেওয়া সাধারণ ভুল:

const unixSeconds = 1720000000;

const wrong = new Date(unixSeconds);
const correct = new Date(unixSeconds * 1000);

wrong 1970-এর কাছে (1970-01-20 21:46:40 UTC)। correct আধুনিক মুহূর্ত (2024-07-03 09:46:40 UTC)।

অন্য সিস্টেম ভিন্ন একক ব্যবহার করে

অন্য ভাষা, API ও ডেটাবেস সেকেন্ড বা মিলিসেকেন্ড ব্যবহার করতে পারে। কিছু মাইক্রোসেকেন্ড বা ন্যানোসেকেন্ড রাখে। ধরে নেবেন না কোনো ভাষা সবসময় এক একক ব্যবহার করে—ডকুমেন্টেশন দেখুন। সংখ্যা JSON-এ থাকলে JSON ফরম্যাটার ও তুলনা ক্ষেত্র পড়তে সাহায্য করে; একক তবু বলে না।

আমার timestamp কোন একক তা কীভাবে বুঝব?

এই পরীক্ষাগুলো ক্রমে করুন। শুধু অঙ্ক গোনা যথেষ্ট নয়।

  1. API বা ডেটাবেসের ডকুমেন্টেশন দেখুন।
  2. অঙ্কের আনুমানিক সংখ্যা দেখুন।
  3. মানকে একটি সম্ভাব্য আধুনিক timestamp-এর সঙ্গে তুলনা করুন।
  4. মান সেকেন্ড ও মিলিসেকেন্ড দুইভাবে পরীক্ষা করুন।
  5. ফলাফলের তারিখ অর্থপূর্ণ কি না দেখুন।

এক ব্যাখ্যা 1970-এ পড়ে আর অন্যটি চেনা তারিখে পড়লে কারণ এককের অমিল।

Unix timestamp-এর সাধারণ ভুল

  • সেকেন্ডকে মিলিসেকেন্ড ভাবা। তারিখ 1970-এর দিকে ভেঙে পড়ে, উপরের উদাহরণের মতো।
  • মিলিসেকেন্ডকে সেকেন্ড ভাবা। তারিখ দূর ভবিষ্যতে লাফায়, বা রূপান্তর ব্যর্থ হয়।
  • 1,000 দিয়ে দুবার গুণ। আগে থেকে মিলিসেকেন্ড থাকা মান বিশাল হয় আর তারিখ শতাব্দী এগোয়।
  • 1,000 দিয়ে দুবার ভাগ। সেকেন্ডের মান আবার ছোট হয়, আবার 1970-এর কাছে।
  • সময় অঞ্চলকে দোষ দেওয়া। অঞ্চল ঘণ্টা বা ক্যালেন্ডারের দিন সরাতে পারে। আধুনিক timestamp-কে 1970 করে না।
  • ফরম্যাট করা তারিখকে Unix timestamp ভাবা। যেমন 2024-07-03T09:46:40Z কোনো epoch সংখ্যা নয়। তারিখ হিসেবে পার্স করুন, সেকেন্ড হিসেবে নয়।

সময় অঞ্চল কি 1970 সমস্যা তৈরি করে?

সাধারণত না। সময় অঞ্চল দেখানো ঘড়ি বদলাতে পারে, অর্ধরাতের কাছে ক্যালেন্ডার তারিখও। আধুনিক Unix timestamp-কে 1970 করে না। ফল 1970 হলে আগে সেকেন্ড বনাম মিলিসেকেন্ড দেখুন।

Unix timestamp রূপান্তর ও যাচাই

NEXNARA তারিখ ও সময় কনভার্টার ব্রাউজারে Unix timestamp রূপান্তর করতে পারে।

Unix সেকেন্ড বা মিলিসেকেন্ড পেস্ট করুন, বর্তমান timestamp নিন, UTC ও স্থানীয় সময় দেখুন, সময় অঞ্চল বদলান ও তারিখ ফরম্যাট করুন। স্বয়ংক্রিয় শনাক্তকরণ প্রায়ই 10 অঙ্ক সেকেন্ড ও 13 মিলিসেকেন্ড ধরে; একক আপনি তবু বেছে নিতে পারেন।

রূপান্তর নিজে আপনার ব্রাউজারে হয়। এই টুল তারিখ বা timestamp কোনো NEXNARA সার্ভারে পাঠায় না। বিজ্ঞাপন ও সাইটের অন্য ফিচার এখনো নেটওয়ার্ক ব্যবহার করে; তা রূপান্তর থেকে আলাদা।

Unix timestamp যাচাই করতে চান? তারিখ ও সময় কনভার্টার খুলুন, সেকেন্ডের সঙ্গে মিলিসেকেন্ড তুলনা করুন।

FAQ

আমার Unix timestamp কেন 1970 দেখায়?

প্রায়ই সেকেন্ড যা মিলিসেকেন্ড পড়া হয়েছে। JavaScript অনেক ছোট সংখ্যা নেয়, তাই তারিখ 1970-01-01 00:00:00 UTC-এর ঠিক পরে বসে। সেকেন্ডকে 1,000 দিয়ে গুণ করে আবার রূপান্তর করুন।

Unix timestamps সেকেন্ড না মিলিসেকেন্ড?

সাধারণত সেকেন্ড। অনেক ওয়েব API ও JavaScript Date মিলিসেকেন্ড ব্যবহার করে। সেই সিস্টেম কী নথিভুক্ত করে দেখুন। কিছু সিস্টেম মাইক্রোসেকেন্ড বা ন্যানোসেকেন্ড ব্যবহার করে।

সেকেন্ডকে মিলিসেকেন্ডে কীভাবে বদলাব?

1,000 দিয়ে গুণ করুন। 1720000000 সেকেন্ড 1720000000000 মিলিসেকেন্ড। উল্টোদিকে 1,000 দিয়ে ভাগ করুন।

JavaScript Date কেন মিলিসেকেন্ড ব্যবহার করে?

JavaScript-এ Date-এর সংখ্যাসূচক timestamp Unix epoch থেকে মিলিসেকেন্ড হিসেবে সংজ্ঞায়িত। তাই unixSeconds Unix সেকেন্ড হলে new Date(unixSeconds) ভুল।

১০ অঙ্কের timestamp কি সবসময় সেকেন্ড?

না। আধুনিক তারিখে প্রায়ই সেকেন্ড, 13 অঙ্ক প্রায়ই মিলিসেকেন্ড। অঙ্ক গোনা ইঙ্গিত, নিয়ম নয়। ডকুমেন্টেশন বা অর্থপূর্ণ তারিখ দিয়ে নিশ্চিত করুন।

Unix timestamp-এ কি সময় অঞ্চল থাকে?

না। Unix timestamp একটি মুহূর্ত যা 1970-01-01 00:00:00 UTC থেকে গণনা। সময় অঞ্চল প্রদর্শন বদলায়, সংখ্যা নিজে নয়।