ইউনিকস টাইমস্ট্যাম্প রূপান্তর টুল
একটি প্রফেশনাল ইউনিকস টাইমস্ট্যাম্প রূপান্তর টুল যা টাইমস্ট্যাম্প এবং তারিখ-সময়ের মধ্যে দ্বিমুখী রূপান্তরকে সমর্থন করে, সংখ্যার সংখ্যার ভিত্তিতে স্বয়ংক্রিয়ভাবে সেকেন্ড (9-10 সংখ্যা), মিলিসেকেন্ড (13), মাইক্রোসেকেন্ড (16) এবং ন্যানোসেকেন্ড (19) টাইমস্ট্যাম্প সনাক্ত করে। তিনটি ভিউ প্রদান করে: স্থানীয় সময়, UTC সময় এবং নির্বাচিত টাইমজোন, ব্যাচ তুলনার জন্য একাধিক রূপান্তরকারী কার্ড সমর্থন করে, এবং ডেভেলপমেন্ট ডিবাগিং এবং দৈনন্দিন রূপান্তরের জন্য অন্তর্নির্মিত সাম্প্রতিক সময়ের রেঞ্জ এবং সাধারণ সময় ব্যবধান অন্তর্ভুক্ত রয়েছে। প্রতিক্রিয়াশীল ইন্টারফেস, ইনপুটে তাত্ক্ষণিক রূপান্তর, টাইমজোন সুইচ করার সময় স্বয়ংক্রিয়ভাবে ফলাফল রিফ্রেশ হয়, এবং সমস্ত কাজ আপনার ব্রাউজারে স্থানীয়ভাবে সঞ্চালিত হয়, গোপনীয়তা এবং নিরাপত্তা নিশ্চিত করে।
বর্তমান সময়
টাইমস্ট্যাম্প থেকে তারিখ
সেকেন্ড, মিলিসেকেন্ড, মাইক্রোসেকেন্ড এবং ন্যানোসেকেন্ড টাইমস্ট্যাম্প সমর্থন করে, সংখ্যার সংখ্যা দিয়ে স্বয়ংক্রিয়ভাবে সনাক্ত করা হয় (9-10 সংখ্যা সেকেন্ড, 13 সংখ্যা ms, 16 সংখ্যা μs, 19 সংখ্যা ns)
রূপান্তরের ফলাফল(স্বয়ংক্রিয়)
তারিখ থেকে টাইমস্ট্যাম্প
রূপান্তরের ফলাফল(স্বয়ংক্রিয়)
বহু টাইমস্ট্যাম্প তারিখ-সময় রূপান্তরকারী
বহু টাইমস্ট্যাম্প তারিখ-সময় রূপান্তরকারী
বহু তারিখ টাইমস্ট্যাম্প রূপান্তরকারী
বহু তারিখ টাইমস্ট্যাম্প রূপান্তরকারী
ব্যবহারের নির্দেশনা
এই টুলটি বিভিন্ন পরিস্থিতিতে ইউনিক্স টাইমস্ট্যাম্প এবং তারিখ-সময়ের মধ্যে দ্বিমুখী রূপান্তর দ্রুত সম্পন্ন করতে ব্যবহৃত হয়। এটি সেকেন্ড এবং মিলিসেকেন্ড নির্ভুলতাকে সমর্থন করে এবং তুলনামূলক প্রদর্শনের জন্য লক্ষ্য সময় অঞ্চল নির্বাচন করার সুযোগ দেয়। এতে একক-কার্ড এবং বহু-কার্ড রূপান্তরকারী উভয় বিকল্প রয়েছে। আপনার ইনপুট অনুযায়ী রূপান্তর সম্পন্ন হয় এবং সময় অঞ্চল পরিবর্তন করলে ফলাফল স্বয়ংক্রিয়ভাবে রিফ্রেশ হয়। এছাড়া এটি বিকাশ ডিবাগ এবং দৈনন্দিন রূপান্তরের প্রয়োজন মেটাতে সাম্প্রতিক সময় পরিসর এবং সাধারণ সময় ব্যবধান তৈরি করা রয়েছে।
টুলের বৈশিষ্ট্য
- আপনার ইনপুট অনুযায়ী রূপান্তর, সেকেন্ড/মিলিসেকেন্ড/মাইক্রোসেকেন্ড/ন্যানোসেকেন্ড টাইমস্ট্যাম্প স্বয়ংক্রিয় স্বীকৃতির সাথে।
- বৈশ্বিক সময় অঞ্চল নির্বাচন এবং প্রদর্শন সমর্থন: স্থানীয়, UTC এবং নির্বাচিত সময় অঞ্চলের তিনটি দৃশ্য।
- ব্যাচ তুলনার জন্য বহু রূপান্তরকারী কার্ড।
- প্রতিক্রিয়াশীল ইন্টারফেস এবং কীবোর্ড-বান্ধব, ভাল অ্যাক্সেসযোগ্যতা সহ।
- সাম্প্রতিক সময় পরিসর এবং সাধারণ সময় ব্যবধান তৈরি করা, কপি করে ব্যবহার করা যায়।
টাইমস্ট্যাম্প কী?
ইউনিক্স টাইমস্ট্যাম্প হল 1970-01-01 00:00:00 UTC (ইউনিক্স এপক) থেকে অতিবাহিত সেকেন্ড বা মিলিসেকেন্ডের মোট সংখ্যা।
টাইমস্ট্যাম্প হল একটি সংখ্যা যা সময়কে প্রতিনিধিত্ব করে, সাধারণত সেকেন্ড বা মিলিসেকেন্ডে।
টাইমস্ট্যাম্পের সূচনা বিন্দু হল 1970 সালের 1 জানুয়ারি UTC 00:00:00, যা ইউনিক্স এপক নামে পরিচিত।
টাইমস্ট্যাম্প মূলত ইউনিক্স অপারেটিং সিস্টেমে ব্যবহৃত হত, তাই এগুলো প্রায়শই ইউনিক্স টাইমস্ট্যাম্প নামে পরিচিত।
টাইমস্ট্যাম্প প্রোগ্রামিং এবং নেটওয়ার্ক কমিউনিকেশনে ব্যাপকভাবে ব্যবহৃত হয়, বিশেষ করে ওয়েব বিকাশে।
সাধারণ নির্ভুলতা: সেকেন্ড (যেমন, 1735689600) এবং মিলিসেকেন্ড (যেমন, 1735689600000)। সময় অঞ্চল সম্পর্কিত তারিখ-সময় উপস্থাপন করার সময় সময় অঞ্চলের সাথে সমন্বয় করে ফরম্যাট করে প্রদর্শন করতে হয়।
সাধারণ টাইমস্ট্যাম্প (সময় ব্যবধান)
টাইমস্ট্যাম্পের 2038 সালের সমস্যা
2038 সালের সমস্যাটি হল এমন বিষয় যেখানে একটি 32-বিট সাইনড পূর্ণসংখ্যা যা ইউনিক্স টাইমস্ট্যাম্প (1970 সালের 1 জানুয়ারি UTC 00:00:00 থেকে সেকেন্ডে) সংরক্ষণ করে, 19 জানুয়ারি 2038 UTC 03:14:07 এর পর ওভারফ্লো হয়ে যাবে।
যেহেতু একটি 32-বিট সাইনড পূর্ণসংখ্যার পরিসর হল -2,147,483,648 থেকে 2,147,483,647, এবং 19 জানুয়ারি 2038 UTC 03:14:07 এর টাইমস্ট্যাম্প হল 2,147,483,647, তাই একটি 32-বিট সাইনড পূর্ণসংখ্যা এই বিন্দুর পরের টাইমস্ট্যাম্পগুলো প্রতিনিধিত্ব করতে অক্ষম হবে।
প্রধানত পুরনো সিস্টেম বা সফটওয়্যার যা 32-বিট time_t ব্যবহার করে তা প্রভাবিত হয়। আধুনিক সিস্টেম সাধারণত 64-বিট (যেমন, মিলিসেকেন্ডে 64-বিট পূর্ণসংখ্যা) ব্যবহার করে এবং এই সমস্যা থাকে না।
64-বিট টাইমস্ট্যাম্প বা একটি সময় লাইব্রেরি ব্যবহার করার সুপারিশ করা হয় যা বড় তারিখ পরিসর সমর্থন করে।
প্রোগ্রামিং ভাষার মাধ্যমে টাইমস্ট্যাম্প পাওয়া/রূপান্তর করার পদ্ধতি
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;
-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');