ããã°ã©ãã³ã°èšèªã§ Unix ã¿ã€ã ã¹ã¿ã³ããæ±ã
ããã°ã©ãã³ã°ã§ Unix ã¿ã€ã ã¹ã¿ã³ãã䜿ãçç±
Unix ã¿ã€ã ã¹ã¿ã³ãã¯ããœãããŠã§ã¢ã«ãããæéã®å ±éé貚ã§ããæ¥ä»ã®ç®è¡æŒç®ãç°¡åã«ãïŒç§ãå ç®ãŸãã¯æžç®ããã ãïŒãã¿ã€ã ãŸãŒã³ã®æ··ä¹±ãæé€ããJSON ã«ãããã«ã·ãªã¢ã©ã€ãºã§ããŸãããã¹ãŠã®ããã°ã©ãã³ã°èšèªããããããæ±ãããã®ãããããã颿°ãæäŸããŠããŸãããAPI ã¯åŸ®åŠã«ç°ãªããŸãããã®ã¬ã€ãã§ã¯ãæãäžè¬çãªèšèªãšãã®ãã¹ããã©ã¯ãã£ã¹ã玹ä»ããŸãã
JavaScriptïŒãã©ãŠã¶ãš Node.jsïŒ
JavaScript 㯠Date ãªããžã§ã¯ãã«ããªç§ã䜿çšããŸãããä»ã®ã»ãšãã©ã®ã·ã¹ãã ã¯ç§ã䜿çšããŸãããããæãäžè¬çãªãã°ã®åå ã§ãã
çŸåšã®ã¿ã€ã ã¹ã¿ã³ããååŸãã
// Milliseconds since epoch (standard JavaScript)
const nowMs = Date.now(); // 1785292800000
// Seconds since epoch (for compatibility)
const nowSec = Math.floor(Date.now() / 1000); // 1785292800
// Node.js high-resolution timer (microseconds)
const hrTime = process.hrtime.bigint();
ã¿ã€ã ã¹ã¿ã³ããæ¥ä»ã«å€æãã
// From seconds (most APIs and databases)
const timestamp = 1785292800;
const date = new Date(timestamp * 1000); // Multiply by 1000!
// From milliseconds (JavaScript native)
const dateFromMs = new Date(1785292800000);
// Format the result
console.log(date.toISOString());
// Output: 2026-07-19T00:00:00.000Z
console.log(date.toLocaleString("en-US", { timeZone: "America/New_York" }));
// Output: 7/18/2026, 8:00:00 PM
æ¥ä»æååãã¿ã€ã ã¹ã¿ã³ãã«è§£æãã
// Using Date.parse() (returns milliseconds)
const ms = Date.parse("2026-07-19T00:00:00Z");
const sec = ms / 1000; // 1785292800
// Using Date constructor
const ts = Math.floor(new Date("2026-07-19 UTC").getTime() / 1000);
èŠå: Date.parse() ã®åäœã¯ãéæšæºã®æ¥ä»æååã§ã¯ãã©ãŠã¶éã§ç°ãªããŸããã¿ã€ã ãŸãŒã³æå®åïŒUTC ã®å Žå㯠ZïŒãä»ãã ISO 8601 圢åŒã䜿çšããã®ãæãå®å
šã§ãã
JavaScript ã§ã¿ã€ã ãŸãŒã³ãæ±ã
// Format in a specific timezone
const date = new Date(1785292800 * 1000);
const options = {
timeZone: "Asia/Tokyo",
year: "numeric", month: "2-digit", day: "2-digit",
hour: "2-digit", minute: "2-digit", second: "2-digit",
};
console.log(date.toLocaleString("ja-JP", options));
// Output: 07/19/2026 09:00:00
é«åºŠãªã¿ã€ã ãŸãŒã³æäœã«ã¯ãIntl.DateTimeFormat API ãŸã㯠date-fns-tz ã Luxon ã®ãããªã©ã€ãã©ãªãæšå¥šãããŸãã
Python
Python ã¯ãã¿ã€ã ã¹ã¿ã³ããæ±ãããã®äœã¬ãã«ïŒtimeïŒãšé«ã¬ãã«ïŒdatetimeïŒã®äž¡æ¹ã®ã¢ãžã¥ãŒã«ãæäŸããŸãã
çŸåšã®ã¿ã€ã ã¹ã¿ã³ããååŸãã
import time
# Seconds as a float (including fractional milliseconds)
current = time.time()
# Example: 1785292800.123456
# As an integer
current_int = int(time.time())
ã¿ã€ã ã¹ã¿ã³ãã datetime ã«å€æãã
from datetime import datetime
# UTC datetime (Python 3.x)
dt_utc = datetime.utcfromtimestamp(1785292800)
# Timezone-aware datetime (Python 3.9+ with zoneinfo)
from zoneinfo import ZoneInfo
dt_tokyo = datetime.fromtimestamp(1785292800, tz=ZoneInfo("Asia/Tokyo"))
# Formatted string
print(dt_utc.strftime("%Y-%m-%d %H:%M:%S"))
# Output: 2026-07-19 00:00:00
æ¥ä»æååãã¿ã€ã ã¹ã¿ã³ãã«è§£æãã
import time
from datetime import datetime
# From date string
dt = datetime.strptime("2026-07-19 00:00:00", "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(dt.timetuple()) # Treats as local time
# For UTC input
from datetime import timezone
timestamp_utc = dt.replace(tzinfo=timezone.utc).timestamp()
Pandas ãæ±ãïŒããŒã¿åæïŒ
import pandas as pd
# Convert a column of Unix timestamps to datetime
df["timestamp"] = pd.to_datetime(df["unix_seconds"], unit="s")
# Convert to different units
df["datetime_ms"] = pd.to_datetime(df["unix_milliseconds"], unit="ms")
# Set a timezone
df["timestamp_ny"] = df["timestamp"].dt.tz_localize("UTC").dt.tz_convert("America/New_York")
PHP
PHP ã¯ãã¿ã€ã ã¹ã¿ã³ãæäœã«æãã·ã³ãã«ãª API ãåããŠããŸãã
çŸåšã®ã¿ã€ã ã¹ã¿ã³ããååŸãã
<?php
$now = time(); // Integer: 1785292800
$nowMicro = microtime(); // String: "0.12345600 1785292800"
$nowFloat = microtime(true); // Float: 1785292800.1235
ã¿ã€ã ã¹ã¿ã³ããæ¥ä»ã«å€æãã
<?php
echo date("Y-m-d H:i:s", 1785292800);
// Output: 2026-07-19 00:00:00
// With timezone
$tz = new DateTimeZone("Europe/London");
$dt = new DateTime("@1785292800");
$dt->setTimezone($tz);
echo $dt->format("Y-m-d H:i:s");
Go
Go ã® time ããã±ãŒãžã¯ããèšèšãããŠããŸãããé¢ããåãæç€ºçã«çè§£ããå¿
èŠããããŸãã
çŸåšã®ã¿ã€ã ã¹ã¿ã³ããååŸãã
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
sec := now.Unix() // int64 seconds
milli := now.UnixMilli() // int64 milliseconds
nano := now.UnixNano() // int64 nanoseconds
fmt.Printf("Seconds: %d\n", sec)
}
ã¿ã€ã ã¹ã¿ã³ããæ¥ä»ã«å€æãã
t := time.Unix(1785292800, 0)
fmt.Println(t.UTC())
// Output: 2026-07-19 00:00:00 +0000 UTC
// Format as string
fmt.Println(t.Format("2006-01-02 15:04:05"))
// Output: 2026-07-19 00:00:00
// With timezone
loc, _ := time.LoadLocation("America/Chicago")
fmt.Println(t.In(loc))
Rust
use std::time::{SystemTime, UNIX_EPOCH};
// Current timestamp
let now = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("Time went backwards");
println!("Seconds: {}", now.as_secs());
// Timestamp to date
let dt = chrono::NaiveDateTime::from_timestamp_opt(1785292800, 0).unwrap();
println!("{}", dt.format("%Y-%m-%d %H:%M:%S"));
ããŒã¿ããŒã¹ä¿å: ãã¹ããã©ã¯ãã£ã¹
é©åãªã«ã©ã åãéžã¶
| ããŒã¿ããŒã¹ | æšå¥šå | åè |
|----------|-----------------|-------|
| PostgreSQL | TIMESTAMP WITH TIME ZONE ãŸã㯠BIGINT | ãã€ãã£ãã®ã¿ã€ã ã¹ã¿ã³ãåãæšå¥šãããŸã |
| MySQL / MariaDB | INT UNSIGNEDïŒ2106 幎ãŸã§ã®æ¥ä»çšïŒãŸã㯠BIGINT | TIMESTAMP åã¯é¿ããŠãã ããïŒç¯å²ã 2038 幎ã§çµäºããŸãïŒ |
| SQLite | INTEGER | SQLite ã«ã¯ãã€ãã£ãã®ã¿ã€ã ã¹ã¿ã³ãåããããŸãã |
| MongoDB | Date ãªããžã§ã¯ããŸã㯠int64 | BSON Date ã¯å
éšçã« 64 ãããã¿ã€ã ã¹ã¿ã³ãã§ã |
PostgreSQL ã®äŸ
-- Store as native timestamp
CREATE TABLE events (
id SERIAL PRIMARY KEY,
occurred_at TIMESTAMP WITH TIME ZONE NOT NULL,
payload JSONB
);
-- Insert with current time
INSERT INTO events (occurred_at) VALUES (NOW());
-- Query as Unix timestamp
SELECT EXTRACT(EPOCH FROM occurred_at) AS unix_ts FROM events;
MySQL ã®äŸ
-- Using BIGINT for future-proof storage
CREATE TABLE logs (
id INT AUTO_INCREMENT PRIMARY KEY,
event_time BIGINT NOT NULL,
message TEXT
);
-- Insert current timestamp
INSERT INTO logs (event_time, message) VALUES (UNIX_TIMESTAMP(), 'Server started');
-- Query and convert
SELECT FROM_UNIXTIME(event_time) AS readable_time FROM logs;
èšèªæ¯èŒè¡š
| èšèª | çŸåšã®ã¿ã€ã ã¹ã¿ã³ã | ã¿ã€ã ã¹ã¿ã³ãããæ¥ä» | æ¥ä»ããã¿ã€ã ã¹ã¿ã³ã | 粟床 |
|----------|-------------------|-------------------|-------------------|------------|
| JavaScript | Date.now() | new Date(ts * 1000) | Date.parse(str) / 1000 | ããªç§ |
| Python | time.time() | datetime.fromtimestamp(ts) | datetime.strptime(str).timestamp() | æµ®åå°æ°ç§ |
| PHP | time() | date("Y-m-d", ts) | strtotime(str) | ç§ |
| Go | time.Now().Unix() | time.Unix(ts, 0) | time.Parse(layout, str).Unix() | ç§ |
| Rust | SystemTime::now() | NaiveDateTime::from_timestamp_opt() | â | åçš® |
ã©ã®èšèªã䜿ãå Žåã§ããåœç€Ÿã® Unix ã¿ã€ã ã¹ã¿ã³ã倿ããŒã« ã¯ããã°ãã確èªãšãããã°ã«ä¿¡é Œã§ããé ŒãããããŒã«ã§ãã