在 Ubuntu(以及一般 Linux 系统)中,时间戳通常指 Unix 时间(自 1970-01-01 00:00:00 UTC 起的秒数)。
如果你需要精确到微秒(μs,1 秒 = 1,000,000 微秒),有以下几种常用方式:
date 命令(推荐)date +%s%6N
说明:
%s:秒级时间戳%6N:纳秒的前 6 位(即微秒)示例输出:
1719301234567890
表示:秒 = 1719301234,微秒 = 567890
date 获取完整时间(含微秒)date +"%Y-%m-%d %H:%M:%S.%6N"
示例:
2024-06-25 15:40:34.567890
microtime() {
date +%s%6N
}
echo $(microtime)
或用于计算耗时:
start=$(date +%s%6N)
sleep 1
end=$(date +%s%6N)
echo "耗时(微秒): $((end - start))"
import time
# 微秒级时间戳(浮点)
t = time.time()
print(int(t * 1_000_000))
或:
from datetime import datetime
print(datetime.now().microsecond)
#include <stdio.h>
#include <sys/time.h>
int main() {
struct timeval tv;
gettimeofday(&tv, NULL);
long micro = tv.tv_sec * 1000000 + tv.tv_usec;
printf("%ld\n", micro);
return 0;
}
System.currentTimeMillis() * 1000 +
java.util.concurrent.TimeUnit.NANOSECONDS.toMicros(
System.nanoTime() % 1_000_000);
date 的精度依赖系统时钟(通常够用)clock_gettime(CLOCK_MONOTONIC)(C)time.perf_counter()(Python)如果你有具体使用场景(日志、性能测试、数据库、脚本等),我可以给你更合适的方案。