ইউনিক্স টাইমস্ট্যাম্প থেকে তারিখ রূপান্তরকারী: 12/24 ঘণ্টার ফরম্যাট সমর্থন

ইউনিক্স টাইমস্ট্যাম্পকে মানব-পঠনযোগ্য তারিখ এবং সময়ে রূপান্তর করুন। এই সহজ, ব্যবহারকারী-বান্ধব রূপান্তরকারী টুলের সাহায্যে 12-ঘণ্টার এবং 24-ঘণ্টার সময় ফরম্যাটের মধ্যে নির্বাচন করুন।

ইউনিক্স টাইমস্ট্যাম্প কনভার্টার

ইউনিক্স টাইমস্ট্যাম্প হল 1 জানুয়ারী, 1970 (UTC) থেকে পেরিয়ে যাওয়া সেকেন্ডের সংখ্যা

রূপান্তরিত তারিখ ও সময়

📚

ডকুমেন্টেশন

ইউনিক্স টাইমস্ট্যাম্প কনভার্টার

পরিচিতি

একটি ইউনিক্স টাইমস্ট্যাম্প (যাকে POSIX সময় বা Epoch সময়ও বলা হয়) সময়ের একটি পয়েন্ট বর্ণনা করার জন্য একটি সিস্টেম। এটি 1970 সালের 1 জানুয়ারি (মধ্যরাত UTC/GMT) থেকে শুরু করে যে সেকেন্ডগুলি অতিবাহিত হয়েছে তার সংখ্যা, লিপ বছর বাদে। ইউনিক্স টাইমস্ট্যাম্পগুলি কম্পিউটার সিস্টেম এবং প্রোগ্রামিং ভাষাগুলিতে ব্যাপকভাবে ব্যবহৃত হয় কারণ এগুলি একটি নির্দিষ্ট সময়ের মুহূর্তের জন্য একটি সংক্ষিপ্ত, ভাষা-স্বাধীন উপস্থাপন প্রদান করে।

এই টাইমস্ট্যাম্প থেকে তারিখ কনভার্টার স্বয়ংক্রিয়ভাবে বিভিন্ন দৈর্ঘ্যের টাইমস্ট্যাম্প সনাক্ত এবং প্রক্রিয়া করে, যার মধ্যে মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট), মিলিসেকেন্ডের সঠিকতা (13 ডিজিট), এবং স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (10 ডিজিট) অন্তর্ভুক্ত রয়েছে। টুলটি ইনপুট দৈর্ঘ্যের ভিত্তিতে টাইমস্ট্যাম্পের ফরম্যাট চিহ্নিত করে, এটি একটি মানব-পঠনযোগ্য তারিখ এবং সময়ের ফরম্যাটে রূপান্তর করে, এবং ব্যবহারকারীদের টাইমস্ট্যাম্পের প্রকার উল্লেখ করতে না বলেই ফলাফল প্রদর্শন করে। এটি 12-ঘণ্টার (AM/PM) এবং 24-ঘণ্টার সময়ের ফরম্যাট উভয়কেই সমর্থন করে, বিভিন্ন আঞ্চলিক এবং ব্যক্তিগত পছন্দগুলি পূরণ করতে।

ইউনিক্স টাইমস্ট্যাম্প কিভাবে কাজ করে

ইউনিক্স টাইমস্ট্যাম্পগুলি ইউনিক্স এপোক (1970 সালের 1 জানুয়ারি, 00:00:00 UTC) থেকে সেকেন্ডের সংখ্যা হিসাবে গণনা করা হয়। এটি সময়ের পার্থক্য গণনা করতে এবং একটি সংক্ষিপ্ত ফরম্যাটে তারিখ সংরক্ষণের জন্য বিশেষভাবে উপকারী।

একটি ইউনিক্স টাইমস্ট্যাম্প থেকে ক্যালেন্ডার তারিখে রূপান্তরের গাণিতিক পদ্ধতি কয়েকটি পদক্ষেপ জড়িত:

  1. ইউনিক্স এপোক (1970 সালের 1 জানুয়ারি, 00:00:00 UTC) দিয়ে শুরু করুন
  2. টাইমস্ট্যাম্পে সেকেন্ডের সংখ্যা যোগ করুন
  3. লিপ বছর, পরিবর্তনশীল মাসের দৈর্ঘ্য এবং অন্যান্য ক্যালেন্ডার জটিলতাগুলি বিবেচনায় নিন
  4. প্রয়োজনে সময় অঞ্চল সমন্বয় প্রয়োগ করুন

যেমন, ইউনিক্স টাইমস্ট্যাম্প 1609459200 শুক্রবার, 1 জানুয়ারী, 2021, 00:00:00 UTC কে উপস্থাপন করে।

রূপান্তরের সূত্রটি নিম্নরূপ প্রকাশ করা যেতে পারে:

তারিখ=ইউনিক্স এপোক+টাইমস্ট্যাম্প (সেকেন্ডে)\text{তারিখ} = \text{ইউনিক্স এপোক} + \text{টাইমস্ট্যাম্প (সেকেন্ডে)}

বেশিরভাগ প্রোগ্রামিং ভাষা এবং অপারেটিং সিস্টেম এই রূপান্তরটি পরিচালনা করার জন্য বিল্ট-ইন ফাংশন সরবরাহ করে, জটিল ক্যালেন্ডার গণনা থেকে বিমুক্ত করে।

টাইমস্ট্যাম্প ফরম্যাট এবং স্বয়ংক্রিয় সনাক্তকরণ

আমাদের কনভার্টার তিনটি সাধারণ টাইমস্ট্যাম্প ফরম্যাট সমর্থন করে, যা ডিজিটের সংখ্যা ভিত্তিতে স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়:

  1. স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (10 ডিজিট): ইউনিক্স এপোক থেকে সেকেন্ডের প্রতিনিধিত্ব করে। উদাহরণ: 1609459200 (1 জানুয়ারী, 2021, 00:00:00 UTC)

  2. মিলিসেকেন্ডের সঠিকতা (13 ডিজিট): ইউনিক্স এপোক থেকে মিলিসেকেন্ডের প্রতিনিধিত্ব করে। উদাহরণ: 1609459200000 (1 জানুয়ারী, 2021, 00:00:00 UTC)

  3. মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট): ইউনিক্স এপোক থেকে মাইক্রোসেকেন্ডের প্রতিনিধিত্ব করে। উদাহরণ: 1609459200000000 (1 জানুয়ারী, 2021, 00:00:00 UTC)

স্বয়ংক্রিয় সনাক্তকরণটি ইনপুটের দৈর্ঘ্য বিশ্লেষণ করে কাজ করে:

  • যদি ইনপুটে 10 ডিজিট থাকে, তবে এটি একটি স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ড) হিসাবে বিবেচিত হয়
  • যদি ইনপুটে 13 ডিজিট থাকে, তবে এটি একটি মিলিসেকেন্ড টাইমস্ট্যাম্প হিসাবে বিবেচিত হয়
  • যদি ইনপুটে 16 ডিজিট থাকে, তবে এটি একটি মাইক্রোসেকেন্ড টাইমস্ট্যাম্প হিসাবে বিবেচিত হয়

এই স্বয়ংক্রিয় সনাক্তকরণ ব্যবহারকারীদের টাইমস্ট্যাম্পের প্রকার উল্লেখ করার প্রয়োজনীয়তা দূর করে, টুলটিকে আরও ব্যবহারকারী-বান্ধব এবং কার্যকর করে।

সময়ের ফরম্যাটের বিকল্প

এই কনভার্টার দুটি সময় ফরম্যাটের বিকল্প প্রদান করে:

  1. 24-ঘণ্টার ফরম্যাট (যাকে কখনও কখনও "সামরিক সময়" বলা হয়): ঘণ্টা 0 থেকে 23 এর মধ্যে থাকে, এবং AM/PM নির্ধারণ নেই। উদাহরণস্বরূপ, 3:00 PM কে 15:00 হিসাবে উপস্থাপন করা হয়।

  2. 12-ঘণ্টার ফরম্যাট: ঘণ্টা 1 থেকে 12 এর মধ্যে থাকে, AM (অ্যান্টে মেরিডিয়েম) মধ্যরাত থেকে দুপুর পর্যন্ত সময়ের জন্য, এবং PM (পোস্ট মেরিডিয়েম) দুপুর থেকে মধ্যরাত পর্যন্ত সময়ের জন্য। উদাহরণস্বরূপ, 24-ঘণ্টার ফরম্যাটে 15:00 কে 3:00 PM হিসাবে উপস্থাপন করা হয়।

এই ফরম্যাটগুলির মধ্যে পছন্দ মূলত আঞ্চলিক ঐতিহ্য এবং ব্যক্তিগত পছন্দের বিষয়:

  • 24-ঘণ্টার ফরম্যাটটি বেশিরভাগ ইউরোপ, লাতিন আমেরিকা, এবং এশিয়ায়, পাশাপাশি বৈশ্বিক বৈজ্ঞানিক, সামরিক এবং চিকিৎসা প্রসঙ্গে সাধারণভাবে ব্যবহৃত হয়।
  • 12-ঘণ্টার ফরম্যাটটি মার্কিন যুক্তরাষ্ট্র, কানাডা, অস্ট্রেলিয়া এবং কিছু অন্যান্য ইংরেজি ভাষী দেশের মধ্যে দৈনন্দিন ব্যবহারের জন্য প্রচলিত।

প্রান্তিক কেস এবং সীমাবদ্ধতা

বিভিন্ন সঠিকতার ইউনিক্স টাইমস্ট্যাম্প নিয়ে কাজ করার সময়, কয়েকটি প্রান্তিক কেস এবং সীমাবদ্ধতা সম্পর্কে সচেতন থাকা গুরুত্বপূর্ণ:

  1. নেতিবাচক টাইমস্ট্যাম্প: এগুলি ইউনিক্স এপোক (1970 সালের 1 জানুয়ারি) এর আগে তারিখ প্রতিনিধিত্ব করে। যদিও গাণিতিকভাবে বৈধ, কিছু সিস্টেম নেতিবাচক টাইমস্ট্যাম্প সঠিকভাবে পরিচালনা নাও করতে পারে। এটি তিনটি টাইমস্ট্যাম্প ফরম্যাটের জন্য প্রযোজ্য।

  2. বছর 2038 সমস্যা: স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (10 ডিজিট) প্রায়শই 32-বিট সাইনড ইন্টিজার হিসাবে সংরক্ষিত হয়, যা 19 জানুয়ারী, 2038-এ ওভারফ্লো হবে। এই সময়ের পরে, 32-বিট সিস্টেমগুলি সঠিকভাবে সময় উপস্থাপন করতে অক্ষম হবে যতক্ষণ না বড় পূর্ণসংখ্যার প্রকার ব্যবহার করা হয়।

  3. সঠিকতার বিষয়:

    • স্ট্যান্ডার্ড টাইমস্ট্যাম্প (10 ডিজিট) সেকেন্ড স্তরের সঠিকতা রয়েছে, যা বেশিরভাগ দৈনন্দিন অ্যাপ্লিকেশনের জন্য যথেষ্ট।
    • মিলিসেকেন্ড টাইমস্ট্যাম্প (13 ডিজিট) 1000 গুণ বেশি সঠিকতা প্রদান করে, যা আরও সঠিক সময়ের প্রয়োজনীয় অ্যাপ্লিকেশনের জন্য উপকারী।
    • মাইক্রোসেকেন্ড টাইমস্ট্যাম্প (16 ডিজিট) এমনকি আরও সূক্ষ্ম সূক্ষ্মতা (1,000,000 তম সেকেন্ড) প্রদান করে, যা উচ্চ-কার্যকারিতা কম্পিউটিং, বৈজ্ঞানিক অ্যাপ্লিকেশন এবং নির্দিষ্ট আর্থিক লেনদেনের জন্য প্রয়োজনীয়।
  4. অত্যন্ত বড় টাইমস্ট্যাম্প: খুব দূরের ভবিষ্যতের তারিখগুলি কিছু সিস্টেমে উপস্থাপনযোগ্য নাও হতে পারে, অথবা অস্থিরভাবে পরিচালিত হতে পারে। এটি বিশেষভাবে প্রাসঙ্গিক মিলিসেকেন্ড এবং মাইক্রোসেকেন্ড টাইমস্ট্যাম্পের জন্য, যা বৃহত্তর সংখ্যার মান ব্যবহার করে।

  5. লিপ সেকেন্ড: ইউনিক্স সময় লিপ সেকেন্ডের জন্য হিসাব করে না, যা মাঝে মাঝে UTC-তে পৃথিবীর অনিয়মিত ঘূর্ণনের জন্য যোগ করা হয়। এর মানে হল ইউনিক্স সময় জ্যোতির্বিজ্ঞানের সময়ের সাথে সঠিকভাবে সমন্বয়িত নয়।

  6. টাইমজোনের বিষয়: ইউনিক্স টাইমস্ট্যাম্পগুলি UTC-তে মুহূর্তগুলি উপস্থাপন করে। স্থানীয় সময়ে রূপান্তর করতে অতিরিক্ত টাইমজোনের তথ্য প্রয়োজন।

  7. ডে লাইট সেভিং টাইম: টাইমস্ট্যাম্পগুলিকে স্থানীয় সময়ে রূপান্তর করার সময়, ডে লাইট সেভিং টাইমের পরিবর্তনের জটিলতাগুলি বিবেচনায় নিতে হবে।

  8. টাইমস্ট্যাম্প ফরম্যাটের বিভ্রান্তি: সঠিক সনাক্তকরণের অভাবের কারণে, একটি 13 ডিজিটের মিলিসেকেন্ড টাইমস্ট্যাম্পকে সেকেন্ড-ভিত্তিক টাইমস্ট্যাম্প হিসাবে বিবেচনা করলে একটি খুব দূরের ভবিষ্যতের তারিখ হিসেবে ভুলভাবে ব্যাখ্যা করা হতে পারে। আমাদের কনভার্টার এটি ডিজিটের দৈর্ঘ্যের ভিত্তিতে স্বয়ংক্রিয়ভাবে ফরম্যাট সনাক্ত করে।

ব্যবহার কেস

বিভিন্ন সঠিকতার ইউনিক্স টাইমস্ট্যাম্পগুলি কম্পিউটিং এবং ডেটা ব্যবস্থাপনায় অসংখ্য অ্যাপ্লিকেশনে ব্যবহৃত হয়:

  1. ডাটাবেস রেকর্ড: টাইমস্ট্যাম্পগুলি সাধারণত এন্ট্রি তৈরি বা সংশোধনের সময় রেকর্ড করতে ব্যবহৃত হয়।

    • সাধারণ ডাটাবেস অ্যাপ্লিকেশনের জন্য স্ট্যান্ডার্ড টাইমস্ট্যাম্প (10 ডিজিট) সাধারণত যথেষ্ট।
    • যখন আরও সঠিক ঘটনাগুলির ক্রম প্রয়োজন হয় তখন মিলিসেকেন্ড টাইমস্ট্যাম্প (13 ডিজিট) ব্যবহার করা হয়।
  2. ওয়েব ডেভেলপমেন্ট: HTTP হেডার, কুকি এবং ক্যাশিং মেকানিজমগুলি প্রায়শই ইউনিক্স টাইমস্ট্যাম্প ব্যবহার করে।

    • জাভাস্ক্রিপ্টের Date.now() মিলিসেকেন্ড টাইমস্ট্যাম্প (13 ডিজিট) প্রদান করে।
  3. লগ ফাইল: সিস্টেম লগগুলি সাধারণত ঘটনাগুলির সঠিক ক্রোনোলজিকাল অর্ডারিংয়ের জন্য ইউনিক্স টাইমস্ট্যাম্প দিয়ে রেকর্ড করে।

    • উচ্চ-ফ্রিকোয়েন্সি লগিং সিস্টেমগুলি মিলিসেকেন্ড বা মাইক্রোসেকেন্ডের সঠিকতা ব্যবহার করতে পারে।
  4. সংস্করণ নিয়ন্ত্রণ সিস্টেম: গিট এবং অন্যান্য VCS টাইমস্ট্যাম্প ব্যবহার করে রেকর্ড করতে যখন কমিট করা হয়।

  5. API প্রতিক্রিয়া: অনেক ওয়েব API তাদের প্রতিক্রিয়াতে টাইমস্ট্যাম্প অন্তর্ভুক্ত করে যাতে জানানো হয় কখন ডেটা তৈরি হয়েছিল বা কখন সম্পদগুলি সর্বশেষ সংশোধন করা হয়েছিল।

    • REST API প্রায়শই মিলিসেকেন্ডের সঠিকতা টাইমস্ট্যাম্প ব্যবহার করে।
  6. ফাইল সিস্টেম: ফাইল তৈরি এবং সংশোধনের সময়গুলি প্রায়শই ইউনিক্স টাইমস্ট্যাম্প হিসাবে সংরক্ষিত হয়।

  7. সেশন ব্যবস্থাপনা: ওয়েব অ্যাপ্লিকেশনগুলি ব্যবহারকারীর সেশন কখন মেয়াদ শেষ হবে তা নির্ধারণ করতে টাইমস্ট্যাম্প ব্যবহার করে।

  8. ডেটা বিশ্লেষণ: টাইমস্ট্যাম্পগুলি বিশ্লেষণ অ্যাপ্লিকেশনে সাময়িক ডেটার সাথে কাজ করার জন্য একটি মানক উপায় প্রদান করে।

  9. হাই-ফ্রিকোয়েন্সি ট্রেডিং: আর্থিক সিস্টেমগুলি প্রায়শই লেনদেনের সঠিক ক্রমের জন্য মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট) প্রয়োজন।

  10. বৈজ্ঞানিক পরিমাপ: গবেষণা সরঞ্জামগুলি সঠিক সাময়িক বিশ্লেষণের জন্য মাইক্রোসেকেন্ডের সঠিকতা সহ পর্যবেক্ষণগুলি রেকর্ড করতে পারে।

বিকল্পগুলি

যদিও ইউনিক্স টাইমস্ট্যাম্প ব্যাপকভাবে ব্যবহৃত হয়, কিছু নির্দিষ্ট প্রসঙ্গে আরও উপযুক্ত সময় উপস্থাপন ফরম্যাট রয়েছে:

  1. ISO 8601: একটি মানক স্ট্রিং ফরম্যাট (যেমন, "2021-01-01T00:00:00Z") যা মানব-পঠনযোগ্য হওয়ার পাশাপাশি সাজানোর যোগ্য। এটি ডেটা বিনিময় এবং ব্যবহারকারী-মুখী অ্যাপ্লিকেশনগুলির জন্য প্রায়শই পছন্দ করা হয়।

  2. RFC 3339: ইন্টারনেট প্রোটোকলে ব্যবহৃত ISO 8601 এর একটি প্রোফাইল, যা কঠোর ফরম্যাটিং প্রয়োজনীয়তা রয়েছে।

  3. মানব-পঠনযোগ্য ফরম্যাট: স্থানীয়কৃত তারিখ স্ট্রিংগুলি (যেমন, "1 জানুয়ারী, 2021") সরাসরি ব্যবহারকারীর মিথস্ক্রিয়ার জন্য আরও উপযুক্ত তবে গণনার জন্য কম উপযুক্ত।

  4. মাইক্রোসফট FILETIME: একটি 64-বিট মান যা 1601 সালের 1 জানুয়ারি থেকে 100-ন্যানোসেকেন্ডের অন্তরকে প্রতিনিধিত্ব করে, যা উইন্ডোজ সিস্টেমে ব্যবহৃত হয়।

  5. জুলিয়ান দিন সংখ্যা: জ্যোতির্বিজ্ঞানে এবং কিছু বৈজ্ঞানিক অ্যাপ্লিকেশনে ব্যবহৃত, 4713 BCE থেকে দিন গণনা করে।

সময় ফরম্যাটের পছন্দের উপর নির্ভর করে বিভিন্ন কারণ যেমন:

  • প্রয়োজনীয় সঠিকতা
  • মানব-পঠনযোগ্যতার প্রয়োজন
  • সংরক্ষণের সীমাবদ্ধতা
  • বিদ্যমান সিস্টেমের সাথে সামঞ্জস্য
  • প্রতিনিধিত্ব করতে হবে এমন তারিখের পরিসীমা

ইতিহাস

ইউনিক্স সময়ের ধারণাটি 1960-এর দশকের শেষের দিকে এবং 1970-এর দশকের শুরুতে বেল ল্যাবসে ইউনিক্স অপারেটিং সিস্টেমের উন্নয়নের সাথে উদ্ভূত হয়। এপোক হিসাবে 1970 সালের 1 জানুয়ারিকে বেছে নেওয়ার সিদ্ধান্তটি কিছুটা অযৌক্তিক ছিল কিন্তু সময়ের জন্য কার্যকর—এটি আগ্রহী তারিখগুলির জন্য সংরক্ষণাগারের প্রয়োজনীয়তা কমানোর জন্য যথেষ্ট সাম্প্রতিক ছিল তবে ইতিহাসের ডেটার জন্য উপকারী হতে যথেষ্ট দূরে ছিল।

মূল বাস্তবায়নটি সেকেন্ডের সংখ্যা সংরক্ষণ করতে 32-বিট সাইনড ইন্টিজার ব্যবহার করেছিল, যা তখনকার সময়ে ইউনিক্স সিস্টেমের প্রত্যাশিত আয়ুষ্কালের জন্য যথেষ্ট ছিল। তবে, এই সিদ্ধান্তটি বছর 2038 সমস্যার দিকে নিয়ে যায় (কখনও কখনও "Y2K38" বা "ইউনিক্স মিলেনিয়াম বাগ" বলা হয়), কারণ 32-বিট সাইনড ইন্টিজারগুলি 1970 সালের 1 জানুয়ারির পরে 19 জানুয়ারী, 2038 পর্যন্ত সময় উপস্থাপন করতে পারে।

যখন কম্পিউটিংয়ের প্রয়োজনীয়তা বাড়তে থাকে, তখন উচ্চতর সঠিকতার টাইমস্ট্যাম্পগুলি প্রয়োজনীয় হয়ে ওঠে:

  • মিলিসেকেন্ডের সঠিকতা (13 ডিজিট) ইন্টারেক্টিভ কম্পিউটিংয়ের উত্থানের সাথে সাধারণ হয়ে ওঠে এবং ব্যবহারকারীর ইন্টারফেসের প্রতিক্রিয়া পরিমাপের জন্য আরও সঠিকতার প্রয়োজন।

  • মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট) উচ্চ-কার্যকারিতা কম্পিউটিং অ্যাপ্লিকেশন এবং অত্যন্ত সঠিক সময়ের প্রয়োজনীয় সিস্টেমগুলির সাথে উদ্ভূত হয়।

যখন ইউনিক্স এবং ইউনিক্স-সদৃশ অপারেটিং সিস্টেমগুলি জনপ্রিয়তা অর্জন করে, তখন ইউনিক্স টাইমস্ট্যাম্প কম্পিউটিংয়ে সময় উপস্থাপনের জন্য একটি কার্যকর মানক হয়ে ওঠে। এটি অসংখ্য প্রোগ্রামিং ভাষা, ডাটাবেস এবং অ্যাপ্লিকেশন দ্বারা গৃহীত হয়, যা এর মূল ইউনিক্স পরিবেশের বাইরে প্রসারিত হয়।

আধুনিক সিস্টেমগুলি increasingly 64-বিট পূর্ণসংখ্যাগুলি টাইমস্ট্যাম্পের জন্য ব্যবহার করে, যা এপোক থেকে প্রায় 292 বিলিয়ন বছর উভয় দিকে উপস্থাপনযোগ্য পরিসীমা প্রসারিত করে, কার্যকরভাবে বছর 2038 সমস্যার সমাধান করে। তবে, পুরানো সিস্টেম এবং অ্যাপ্লিকেশনগুলি এখনও ঝুঁকিপূর্ণ হতে পারে।

ইউনিক্স টাইমস্ট্যাম্পের সরলতা এবং উপযোগিতা এর চলমান প্রাসঙ্গিকতা নিশ্চিত করেছে, আরও উন্নত সময় উপস্থাপন ফরম্যাটের বিকাশ সত্ত্বেও। এটি কম্পিউটিংয়ের একটি মৌলিক ধারণা হিসাবে রয়ে গেছে, আমাদের ডিজিটাল অবকাঠামোর অনেকাংশকে ভিত্তি করে।

কোড উদাহরণ

এখানে বিভিন্ন প্রোগ্রামিং ভাষায় বিভিন্ন সঠিকতার ইউনিক্স টাইমস্ট্যাম্পগুলিকে মানব-পঠনযোগ্য তারিখে রূপান্তর করার উদাহরণ রয়েছে:

1// জাভাস্ক্রিপ্ট টাইমস্ট্যাম্প রূপান্তর স্বয়ংক্রিয় ফরম্যাট সনাক্তকরণের সাথে
2function convertTimestamp(timestamp, use12Hour = false) {
3  // প্রয়োজনে সংখ্যা হিসাবে রূপান্তর করুন
4  const numericTimestamp = Number(timestamp);
5  
6  // ডিজিটের দৈর্ঘ্যের ভিত্তিতে টাইমস্ট্যাম্পের ফরম্যাট সনাক্ত করুন
7  let date;
8  if (timestamp.length === 16) {
9    // মাইক্রোসেকেন্ডের সঠিকতা (সেকেন্ড পেতে 1,000,000 দ্বারা ভাগ করুন)
10    date = new Date(numericTimestamp / 1000);
11    console.log("সনাক্ত করা হয়েছে: মাইক্রোসেকেন্ডের সঠিকতা টাইমস্ট্যাম্প");
12  } else if (timestamp.length === 13) {
13    // মিলিসেকেন্ডের সঠিকতা
14    date = new Date(numericTimestamp);
15    console.log("সনাক্ত করা হয়েছে: মিলিসেকেন্ডের সঠিকতা টাইমস্ট্যাম্প");
16  } else if (timestamp.length === 10) {
17    // স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ড)
18    date = new Date(numericTimestamp * 1000);
19    console.log("সনাক্ত করা হয়েছে: স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ড)");
20  } else {
21    throw new Error("অবৈধ টাইমস্ট্যাম্প ফরম্যাট। 10, 13, বা 16 ডিজিট প্রত্যাশিত।");
22  }
23  
24  // ফরম্যাটের বিকল্প
25  const options = {
26    year: 'numeric',
27    month: 'long',
28    day: 'numeric',
29    weekday: 'long',
30    hour: use12Hour ? 'numeric' : '2-digit',
31    minute: '2-digit',
32    second: '2-digit',
33    hour12: use12Hour
34  };
35  
36  // লোকাল ফরম্যাটিং ব্যবহার করে স্ট্রিংয়ে রূপান্তর করুন
37  return date.toLocaleString(undefined, options);
38}
39
40// উদাহরণ ব্যবহার
41try {
42  // স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (10 ডিজিট)
43  console.log(convertTimestamp("1609459200", false)); 
44  
45  // মিলিসেকেন্ডের সঠিকতা (13 ডিজিট)
46  console.log(convertTimestamp("1609459200000", false)); 
47  
48  // মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট)
49  console.log(convertTimestamp("1609459200000000", true)); 
50} catch (error) {
51  console.error(error.message);
52}
53

প্রান্তিক কেস পরিচালনা

বিভিন্ন সঠিকতার ইউনিক্স টাইমস্ট্যাম্প নিয়ে কাজ করার সময়, প্রান্তিক কেসগুলি সঠিকভাবে পরিচালনা করা গুরুত্বপূর্ণ। এখানে একটি উদাহরণ রয়েছে যা ব্যাপক প্রান্তিক কেস পরিচালনার প্রদর্শন করে:

1// জাভাস্ক্রিপ্ট ব্যাপক প্রান্তিক কেস পরিচালনা জন্য বিভিন্ন টাইমস্ট্যাম্প ফরম্যাটের জন্য
2function safeConvertTimestamp(timestamp, use12Hour = false) {
3  // ইনপুট যাচাইকরণ
4  if (timestamp === undefined || timestamp === null || timestamp === '') {
5    return "ত্রুটি: খালি বা অজ্ঞাত টাইমস্ট্যাম্প";
6  }
7  
8  // ডিজিটের দৈর্ঘ্যের জন্য স্ট্রিং হিসাবে নিশ্চিত করুন
9  const timestampStr = String(timestamp).trim();
10  
11  // চেক করুন যে টাইমস্ট্যাম্পটি শুধুমাত্র ডিজিট ধারণ করে
12  if (!/^\d+$/.test(timestampStr)) {
13    return "ত্রুটি: টাইমস্ট্যাম্পে শুধুমাত্র ডিজিট থাকতে হবে";
14  }
15  
16  // দৈর্ঘ্যের ভিত্তিতে ফরম্যাট সনাক্ত করুন
17  let date;
18  try {
19    if (timestampStr.length === 16) {
20      // মাইক্রোসেকেন্ডের সঠিকতা
21      const microseconds = Number(timestampStr);
22      date = new Date(microseconds / 1000); // মিলিসেকেন্ডে রূপান্তর
23      console.log("মাইক্রোসেকেন্ডের টাইমস্ট্যাম্প প্রক্রিয়া করা হচ্ছে (16 ডিজিট)");
24      
25      // অবৈধ তারিখের জন্য চেক করুন
26      if (isNaN(date.getTime())) {
27        return "ত্রুটি: অবৈধ মাইক্রোসেকেন্ডের টাইমস্ট্যাম্প";
28      }
29    } else if (timestampStr.length === 13) {
30      // মিলিসেকেন্ডের সঠিকতা
31      const milliseconds = Number(timestampStr);
32      date = new Date(milliseconds);
33      console.log("মিলিসেকেন্ডের টাইমস্ট্যাম্প প্রক্রিয়া করা হচ্ছে (13 ডিজিট)");
34      
35      // অবৈধ তারিখের জন্য চেক করুন
36      if (isNaN(date.getTime())) {
37        return "ত্রুটি: অবৈধ মিলিসেকেন্ডের টাইমস্ট্যাম্প";
38      }
39    } else if (timestampStr.length === 10) {
40      // স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ড)
41      const seconds = Number(timestampStr);
42      date = new Date(seconds * 1000);
43      console.log("স্ট্যান্ডার্ড টাইমস্ট্যাম্প প্রক্রিয়া করা হচ্ছে (10 ডিজিট)");
44      
45      // অবৈধ তারিখের জন্য চেক করুন
46      if (isNaN(date.getTime())) {
47        return "ত্রুটি: অবৈধ স্ট্যান্ডার্ড টাইমস্ট্যাম্প";
48      }
49      
50      // Y2K38 সমস্যার জন্য চেক করুন (32-বিট সিস্টেমের জন্য)
51      const maxInt32 = 2147483647; // 32-বিট সাইনড ইন্টিজারের জন্য সর্বাধিক মান
52      if (seconds > maxInt32) {
53        console.warn("সতর্কতা: টাইমস্ট্যাম্প 32-বিট পূর্ণসংখ্যার সীমা অতিক্রম করেছে (Y2K38 সমস্যা)");
54      }
55    } else {
56      return "ত্রুটি: অবৈধ টাইমস্ট্যাম্প দৈর্ঘ্য। 10, 13, বা 16 ডিজিট প্রত্যাশিত।";
57    }
58    
59    // তারিখের ফরম্যাট
60    const options = {
61      year: 'numeric',
62      month: 'long',
63      day: 'numeric',
64      weekday: 'long',
65      hour: use12Hour ? 'numeric' : '2-digit',
66      minute: '2-digit',
67      second: '2-digit',
68      hour12: use12Hour
69    };
70    
71    return date.toLocaleString(undefined, options);
72  } catch (error) {
73    return "টাইমস্ট্যাম্প রূপান্তর করতে ত্রুটি: " + error.message;
74  }
75}
76
77// বিভিন্ন প্রান্তিক কেসের সাথে পরীক্ষা করুন
78console.log(safeConvertTimestamp("1609459200"));      // স্ট্যান্ডার্ড (10 ডিজিট)
79console.log(safeConvertTimestamp("1609459200000"));   // মিলিসেকেন্ড (13 ডিজিট)
80console.log(safeConvertTimestamp("1609459200000000")); // মাইক্রোসেকেন্ড (16 ডিজিট)
81console.log(safeConvertTimestamp("abc123"));          // অ-সংখ্যাসূচক
82console.log(safeConvertTimestamp("12345"));           // অবৈধ দৈর্ঘ্য
83console.log(safeConvertTimestamp("9999999999999999")); // অত্যন্ত বড় মাইক্রোসেকেন্ড টাইমস্ট্যাম্প
84console.log(safeConvertTimestamp(""));                // খালি স্ট্রিং
85

সাধারণ জিজ্ঞাস্য

ইউনিক্স টাইমস্ট্যাম্প কি?

একটি ইউনিক্স টাইমস্ট্যাম্প হল 1970 সালের 1 জানুয়ারি (মধ্যরাত UTC/GMT) থেকে শুরু করে যে সেকেন্ডগুলি অতিবাহিত হয়েছে তার সংখ্যা, লিপ বছর বাদে। এটি একটি নির্দিষ্ট সময়ের মুহূর্তের জন্য একটি সংক্ষিপ্ত, ভাষা-স্বাধীন উপস্থাপন প্রদান করে।

স্বয়ংক্রিয় টাইমস্ট্যাম্প ফরম্যাট সনাক্তকরণ কিভাবে কাজ করে?

কনভার্টারটি ডিজিটের সংখ্যা ভিত্তিতে টাইমস্ট্যাম্প ফরম্যাট স্বয়ংক্রিয়ভাবে সনাক্ত করে:

  • 10 ডিজিট: স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প (এপোক থেকে সেকেন্ড)
  • 13 ডিজিট: মিলিসেকেন্ডের সঠিকতা টাইমস্ট্যাম্প
  • 16 ডিজিট: মাইক্রোসেকেন্ডের সঠিকতা টাইমস্ট্যাম্প

আমি মিলিসেকেন্ড বা মাইক্রোসেকেন্ডের সঠিকতা কেন প্রয়োজন?

মিলিসেকেন্ডের সঠিকতা (13 ডিজিট) এমন অ্যাপ্লিকেশনগুলির জন্য উপকারী যেখানে আরও সঠিক সময়ের প্রয়োজন, যেমন কর্মক্ষমতা পর্যবেক্ষণ, ব্যবহারকারীর ইন্টারঅ্যাকশন ট্র্যাকিং, এবং নির্দিষ্ট আর্থিক অ্যাপ্লিকেশন। মাইক্রোসেকেন্ডের সঠিকতা (16 ডিজিট) উচ্চ-কার্যকারিতা কম্পিউটিং, বৈজ্ঞানিক অ্যাপ্লিকেশন এবং উচ্চ-ফ্রিকোয়েন্সি ট্রেডিং সিস্টেমগুলির জন্য অত্যন্ত সঠিক সময়ের প্রয়োজন।

আমি কি ইউনিক্স টাইমস্ট্যাম্প ব্যবহার করে 1970-এর আগে তারিখ রূপান্তর করতে পারি?

হ্যাঁ, 1 জানুয়ারি, 1970-এর আগে তারিখগুলি নেতিবাচক টাইমস্ট্যাম্পের মাধ্যমে প্রতিনিধিত্ব করা হয়। তবে, কিছু সিস্টেম নেতিবাচক টাইমস্ট্যাম্প সঠিকভাবে পরিচালনা নাও করতে পারে, তাই যদি আপনাকে ঐতিহাসিক তারিখগুলির সাথে কাজ করতে হয় তবে এই কার্যকারিতাটি পরীক্ষা করা গুরুত্বপূর্ণ।

বছর 2038 সমস্যা কি?

বছর 2038 সমস্যা ঘটে কারণ অনেক সিস্টেম ইউনিক্স টাইমস্ট্যাম্পগুলি 32-বিট সাইনড ইন্টিজার হিসাবে সংরক্ষণ করে, যা 19 জানুয়ারী, 2038 পর্যন্ত সময় উপস্থাপন করতে পারে। এই সময়ের পরে, পূর্ণসংখ্যাটি ওভারফ্লো হবে, সম্ভাব্য সিস্টেম ব্যর্থতার কারণ হবে। আধুনিক সিস্টেমগুলি এই সমস্যাটি এড়াতে 64-বিট পূর্ণসংখ্যা ব্যবহার করতে increasingly।

আমি ইউনিক্স টাইমস্ট্যাম্পগুলির সাথে টাইমজোন রূপান্তরগুলি কীভাবে পরিচালনা করব?

ইউনিক্স টাইমস্ট্যাম্পগুলি সর্বদা UTC (সমন্বিত বিশ্ব সময়) এ মুহূর্তগুলি উপস্থাপন করে। স্থানীয় সময়ে রূপান্তর করতে সঠিক অফসেট প্রয়োগ করতে হবে। বেশিরভাগ প্রোগ্রামিং ভাষা টাইমজোন রূপান্তর পরিচালনা করার জন্য বিল্ট-ইন ফাংশন সরবরাহ করে।

ইউনিক্স সময় এবং ISO 8601 এর মধ্যে পার্থক্য কি?

ইউনিক্স সময় একটি সংখ্যাগত উপস্থাপন (এপোক থেকে সেকেন্ড) হলেও, ISO 8601 একটি স্ট্রিং ফরম্যাট (যেমন, "2021-01-01T00:00:00Z")। ইউনিক্স সময় গণনার জন্য আরও সংক্ষিপ্ত এবং ব্যবহার করা সহজ, যখন ISO 8601 আরও মানব-পঠনযোগ্য এবং স্ব-ব্যাখ্যামূলক।

ইউনিক্স টাইমস্ট্যাম্পগুলি কতটা সঠিক?

স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প সেকেন্ড স্তরের সঠিকতা রয়েছে। আরও সঠিকতার প্রয়োজনীয় অ্যাপ্লিকেশনের জন্য, মিলিসেকেন্ড টাইমস্ট্যাম্প (13 ডিজিট) 1/1000 সেকেন্ডের সঠিকতা প্রদান করে, এবং মাইক্রোসেকেন্ড টাইমস্ট্যাম্প (16 ডিজিট) 1/1,000,000 সেকেন্ডের সঠিকতা প্রদান করে।

ইউনিক্স টাইমস্ট্যাম্পগুলি লিপ সেকেন্ডের জন্য হিসাব করে কি?

না, ইউনিক্স সময় লিপ সেকেন্ডের জন্য হিসাব করে না, যা মাঝে মাঝে UTC-তে পৃথিবীর অনিয়মিত ঘূর্ণনের জন্য যোগ করা হয়। এর মানে হল ইউনিক্স সময় জ্যোতির্বিজ্ঞানের সময়ের সাথে সঠিকভাবে সমন্বয়িত নয়।

আমি কি ভবিষ্যতের ইভেন্টগুলি সময়সূচী করতে ইউনিক্স টাইমস্ট্যাম্প ব্যবহার করতে পারি?

হ্যাঁ, ইউনিক্স টাইমস্ট্যাম্পগুলি সময়সূচী করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। তবে, খুব দূরের ভবিষ্যতের তারিখগুলির জন্য, বছর 2038 সমস্যার মতো সম্ভাব্য সীমাবদ্ধতা সম্পর্কে সচেতন থাকুন 32-বিট সিস্টেমের জন্য এবং টাইমজোন পরিবর্তন এবং ডে লাইট সেভিং টাইম পরিবর্তনের পরিচালনার জটিলতা।

রেফারেন্স

  1. "ইউনিক্স সময়।" উইকিপিডিয়া, উইকিমিডিয়া ফাউন্ডেশন, https://en.wikipedia.org/wiki/Unix_time

  2. "বছর 2038 সমস্যা।" উইকিপিডিয়া, উইকিমিডিয়া ফাউন্ডেশন, https://en.wikipedia.org/wiki/Year_2038_problem

  3. অলসন, আর্থার ডেভিড। "ক্যালেন্ড্রিকাল সময়ের জটিলতা।" দ্য ওপেন গ্রুপ, https://www.usenix.org/legacy/events/usenix01/full_papers/olson/olson.pdf

  4. "ISO 8601।" উইকিপিডিয়া, উইকিমিডিয়া ফাউন্ডেশন, https://en.wikipedia.org/wiki/ISO_8601

  5. "RFC 3339: ইন্টারনেটে তারিখ এবং সময়: টাইমস্ট্যাম্প।" ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (IETF), https://tools.ietf.org/html/rfc3339

  6. কেরনিগান, ব্রায়ান W., এবং ডেনিস এম. রিচি। "সি প্রোগ্রামিং ভাষা।" প্রেন্টিস হল, 1988।

  7. "হাই-পারফরম্যান্স কম্পিউটিং-এ সঠিক সময়।" ACM কম্পিউটিং সার্ভে, https://dl.acm.org/doi/10.1145/3232678

  8. "আর্থিক সিস্টেমগুলিতে সময় উপস্থাপনা।" জার্নাল অফ ফাইন্যান্সিয়াল টেকনোলজি, https://www.fintech-journal.com/time-representation

এখন আমাদের টাইমস্ট্যাম্প কনভার্টার ব্যবহার করুন ইউনিক্স টাইমস্ট্যাম্পগুলিকে যে কোনও সঠিকতার মানব-পঠনযোগ্য তারিখে সহজে রূপান্তর করতে। আপনি স্ট্যান্ডার্ড ইউনিক্স টাইমস্ট্যাম্প, মিলিসেকেন্ডের সঠিকতা বা মাইক্রোসেকেন্ডের সঠিকতার সাথে কাজ করছেন, আমাদের টুল স্বয়ংক্রিয়ভাবে ফরম্যাট সনাক্ত করে এবং সঠিক রূপান্তর প্রদান করে।

🔗

সম্পর্কিত সরঞ্জাম

আপনার কাজে দরকারী হতে পারে আরো টুল খুঁজে বের করুন

সময় ইউনিট রূপান্তরকারী: বছর, দিন, ঘণ্টা, মিনিট, সেকেন্ড

এই সরঞ্জামটি চেষ্টা করুন

JSON ফরম্যাটার এবং বিউটিফায়ার: ইনডেন্টেশন সহ সুন্দর প্রিন্ট JSON

এই সরঞ্জামটি চেষ্টা করুন

সংখ্যা বেস রূপান্তরকারী: বাইনারি, দশমিক, হেক্স ও কাস্টম বেস

এই সরঞ্জামটি চেষ্টা করুন

সময় অন্তর ক্যালকুলেটর: দুটি তারিখের মধ্যে সময় খুঁজুন

এই সরঞ্জামটি চেষ্টা করুন

বাইনरी-ডেসিমাল কনভার্টার: সংখ্যা সিস্টেমের মধ্যে রূপান্তর করুন

এই সরঞ্জামটি চেষ্টা করুন

সার্ভিস আপটাইম ক্যালকুলেটর: ডাউনটাইমের ভিত্তিতে গণনা করুন

এই সরঞ্জামটি চেষ্টা করুন

কুকুরের বয়স রূপান্তরকারী: মানব বছর থেকে কুকুরের বছরগুলোতে রূপান্তর করুন

এই সরঞ্জামটি চেষ্টা করুন

প্রাচীন বাইবেলীয় ইউনিট কনভার্টার: ঐতিহাসিক পরিমাপের টুল

এই সরঞ্জামটি চেষ্টা করুন

বছরের দিন গণনা: নির্দিষ্ট তারিখের জন্য দিন নির্ধারণ করুন

এই সরঞ্জামটি চেষ্টা করুন

টোকেন কাউন্টার: টিকটোকেন লাইব্রেরি ব্যবহার করে গণনা করুন

এই সরঞ্জামটি চেষ্টা করুন