在 Ubuntu(Linux)系统中,时间戳(Timestamp)本质上就是一个整数或浮点数,用于表示“从 1970-01-01 00:00:00 UTC 到现在的秒数或纳秒数”。
具体“怎样存储”取决于你指的是 系统层面 还是 应用/数据库层面。
time_t(通常是 64 位整数)struct timespecstruct timespec {
time_t tv_sec; // 秒
long tv_nsec; // 纳秒
};
date +%s # 当前时间戳(秒)
date +%s.%N # 秒.纳秒
ts=$(date +%s)
echo $ts
echo $(date +%s) >> log.txt
CREATE TABLE log (
id INT,
create_time BIGINT -- 存 1700000000
);
CREATE TABLE log (
create_time TIMESTAMP
);
TIMESTAMP 内部也是存 UTC 时间戳import time
ts = int(time.time()) # 秒
#include <time.h>
time_t t = time(NULL);
long ts = System.currentTimeMillis() / 1000;
✅ 存储时用 UTC 时间戳
✅ 展示时再转本地时区
❌ 不要存“字符串时间”做计算
❌ 不要混用时区
如果你指的是:
可以告诉我,我可以给你更具体的方案。