Timestamp Converter: Convert Unix Time and Epoch Timestamps
Free online timestamp converter. Convert between Unix timestamps, human-readable dates, and various time formats instantly.
Timestamp Converter: Complete Guide
Timestamps are fundamental to software development, data analysis, and system administration. This guide covers everything you need to know about converting and using timestamps.
What is a Unix Timestamp?
A Unix timestamp (also called Epoch time or POSIX time) is the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC (the Unix Epoch).
Example
1735689600 = January 1, 2025, 00:00:00 UTC
Why Use Timestamps?
Advantages
- Universal: Same value worldwide, timezone-independent
- Simple: Just a single integer number
- Easy to Compare: Direct numerical comparison
- Efficient Storage: Compact representation
- Calculation-Friendly: Easy date arithmetic
Use Cases
- Log file timestamps
- Database record creation times
- API request/response timestamps
- Session expiration times
- File modification dates
- Event scheduling
Timestamp Formats
Unix Timestamp (Seconds)
1735689600
Used by: PHP, Python, C, most Unix systems
Unix Timestamp (Milliseconds)
1735689600000
Used by: JavaScript, Java, many APIs
ISO 8601 Format
2025-01-01T00:00:00Z
2025-01-01T00:00:00+00:00
Standard international format, used in JSON APIs
RFC 2822 Format
Wed, 01 Jan 2025 00:00:00 +0000
Used in email headers, HTTP dates
Human-Readable Formats
January 1, 2025 12:00 AM
01/01/2025 00:00:00
2025-01-01 00:00:00
Converting Timestamps
Unix to Human-Readable
JavaScript
const timestamp = 1735689600;
const date = new Date(timestamp * 1000);
console.log(date.toLocaleString());
Python
import datetime
timestamp = 1735689600
date = datetime.datetime.fromtimestamp(timestamp)
print(date.strftime('%Y-%m-%d %H:%M:%S'))
PHP
$timestamp = 1735689600;
echo date('Y-m-d H:i:s', $timestamp);
Human-Readable to Unix
JavaScript
const date = new Date('2025-01-01T00:00:00Z');
const timestamp = Math.floor(date.getTime() / 1000);
Python
import datetime
date = datetime.datetime(2025, 1, 1, 0, 0, 0)
timestamp = int(date.timestamp())
PHP
$date = '2025-01-01 00:00:00';
$timestamp = strtotime($date);
Working with Timezones
Important Concepts
- Unix timestamps are always UTC
- Timezone conversion happens during display
- Store timestamps in UTC, display in local timezone
JavaScript Timezone Handling
// Get current timestamp
const now = Date.now() / 1000;
// Convert to specific timezone
const options = {
timeZone: 'America/New_York',
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
};
const formatted = new Date(now * 1000).toLocaleString('en-US', options);
Python Timezone Handling
from datetime import datetime
import pytz
# Create timezone-aware datetime
utc = pytz.UTC
eastern = pytz.timezone('US/Eastern')
# Convert
utc_time = datetime.now(utc)
eastern_time = utc_time.astimezone(eastern)
Common Timestamp Operations
Current Timestamp
JavaScript
const now = Math.floor(Date.now() / 1000);
Python
import time
now = int(time.time())
PHP
$now = time();
MySQL
SELECT UNIX_TIMESTAMP();
Adding/Subtracting Time
JavaScript
const timestamp = 1735689600;
const tomorrow = timestamp + (24 * 60 * 60); // +1 day
const lastWeek = timestamp - (7 * 24 * 60 * 60); // -7 days
Python
from datetime import datetime, timedelta
timestamp = 1735689600
date = datetime.fromtimestamp(timestamp)
tomorrow = date + timedelta(days=1)
Time Differences
const start = 1735689600;
const end = 1735776000;
const diffSeconds = end - start;
const diffHours = diffSeconds / 3600;
const diffDays = diffSeconds / 86400;
Database Timestamps
MySQL/MariaDB
-- Store as integer
CREATE TABLE events (
id INT,
created_at INT,
INDEX idx_created (created_at)
);
-- Or use TIMESTAMP type
CREATE TABLE events (
id INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Convert to Unix timestamp
SELECT UNIX_TIMESTAMP(created_at) FROM events;
PostgreSQL
-- Store as integer
CREATE TABLE events (
id SERIAL,
created_at BIGINT
);
-- Or use TIMESTAMP
CREATE TABLE events (
id SERIAL,
created_at TIMESTAMP DEFAULT NOW()
);
-- Convert to Unix timestamp
SELECT EXTRACT(EPOCH FROM created_at)::INTEGER FROM events;
MongoDB
// MongoDB uses milliseconds
db.events.insertOne({
name: "Event",
created_at: new Date()
});
// Query by timestamp
db.events.find({
created_at: { $gte: new Date(1735689600000) }
});
Best Practices
1. Always Store in UTC
- Store all timestamps in UTC
- Convert to local timezone only for display
- Avoid timezone-specific storage
2. Use Consistent Units
- Choose seconds OR milliseconds
- Document which unit you're using
- Be consistent across your application
3. Handle Timezones Properly
- Never assume user's timezone
- Let users select their timezone
- Display times with timezone indicator
4. Consider Precision
- Seconds: sufficient for most applications
- Milliseconds: needed for high-precision logging
- Microseconds: used in performance monitoring
5. Validate Timestamps
function isValidTimestamp(timestamp) {
// Check if reasonable (between 1970 and 2100)
return timestamp > 0 && timestamp < 4102444800;
}
Common Mistakes
1. Mixing Seconds and Milliseconds
// Wrong
const date = new Date(1735689600); // Missing * 1000
// Correct
const date = new Date(1735689600 * 1000);
2. Forgetting Timezone Conversion
// Wrong - assumes local timezone
const date = new Date('2025-01-01 00:00:00');
// Correct - explicit UTC
const date = new Date('2025-01-01T00:00:00Z');
3. Year 2038 Problem
- 32-bit systems can't represent dates after 2038
- Use 64-bit timestamps for future dates
- Consider using BIGINT in databases
Timestamp Ranges
Minimum and Maximum Values
32-bit (seconds)
- Min: -2,147,483,648 (December 13, 1901)
- Max: 2,147,483,647 (January 19, 2038)
64-bit (seconds)
- Practically unlimited range
- Recommended for all new applications
Use Our Timestamp Converter
Our free online tool provides:
- Instant conversions
- Multiple format support
- Timezone handling
- Batch conversion
- Human-readable output
- Copy to clipboard
Convert timestamps effortlessly today!
Keywords
Related Posts
JSON Formatter & Validator: Complete Guide for Developers
Master JSON formatting and validation. Learn how to debug, beautify, and validate JSON data effectively.
Base64 Encoder & Decoder: What It Is and How to Use It
Understand Base64 encoding and decoding. Learn when and why to use Base64 encoding for data transmission.