时间戳格式速查表:快速参考指南

时间戳格式速查表:快速参考指南

概述

这份综合速查表为编程和数据交换中使用的所有常用时间戳格式提供快速参考。所有示例使用2024年1月1日 12:00:00 UTC作为参考时间。

快速参考表

格式示例长度使用场景Unix秒170411040010位数字旧系统、APIUnix毫秒170411040000013位数字JavaScript、Java、现代APIUnix微秒170411040000000016位数字高精度日志Unix纳秒170411040000000000019位数字性能监控ISO 8601 (UTC)2024-01-01T12:00:00Z可变国际标准ISO 8601 (时区)2024-01-01T12:00:00+00:00可变时区感知数据RFC 33392024-01-01T12:00:00.000Z可变互联网时间戳RFC 2822Mon, 01 Jan 2024 12:00:00 +0000可变邮件头SQL DATETIME2024-01-01 12:00:0019字符数据库存储

Unix时间戳格式

秒(10位数字)

格式:自1970年1月1日 00:00:00 UTC以来的秒数整数

1704110400

何时使用:

旧系统和API

存储效率(int32为4字节)

2038年问题考虑

代码示例:

CopyJAVASCRIPT1// JavaScript

2const timestamp = Math.floor(Date.now() / 1000);

3// 1704110400

4

5const date = new Date(timestamp * 1000);

6// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2import time

3timestamp = int(time.time())

4# 1704110400

5

6from datetime import datetime

7date = datetime.fromtimestamp(timestamp)

8# 2024-01-01 12:00:00

CopyPHP1// PHP

2$timestamp = time();

3// 1704110400

4

5$date = date('Y-m-d H:i:s', $timestamp);

6// 2024-01-01 12:00:00

CopyGO1// Go

2import "time"

3

4timestamp := time.Now().Unix()

5// 1704110400

6

7date := time.Unix(timestamp, 0)

8// 2024-01-01 12:00:00 +0000 UTC

毫秒(13位数字)

格式:自Unix纪元以来的毫秒数整数

1704110400000

何时使用:

JavaScript应用程序(Date.now()默认值)

现代Web API

需要毫秒精度

代码示例:

CopyJAVASCRIPT1// JavaScript

2const timestamp = Date.now();

3// 1704110400000

4

5const date = new Date(timestamp);

6// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2import time

3timestamp = int(time.time() * 1000)

4# 1704110400000

5

6from datetime import datetime

7date = datetime.fromtimestamp(timestamp / 1000)

CopyJAVA1// Java

2long timestamp = System.currentTimeMillis();

3// 1704110400000

4

5Date date = new Date(timestamp);

6// Mon Jan 01 12:00:00 UTC 2024

CopyCSHARP1// C#

2long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

3// 1704110400000

4

5DateTimeOffset date = DateTimeOffset.FromUnixTimeMilliseconds(timestamp);

微秒(16位数字)

格式:自Unix纪元以来的微秒数整数

1704110400000000

何时使用:

高精度日志和监控

性能基准测试

科学应用

代码示例:

CopyPYTHON1# Python

2import time

3timestamp = int(time.time() * 1_000_000)

4# 1704110400000000

5

6date = datetime.fromtimestamp(timestamp / 1_000_000)

CopyGO1// Go

2timestamp := time.Now().UnixMicro()

3// 1704110400000000

4

5date := time.UnixMicro(timestamp)

CopyRUST1// Rust

2use std::time::{SystemTime, UNIX_EPOCH};

3

4let timestamp = SystemTime::now()

5 .duration_since(UNIX_EPOCH)

6 .unwrap()

7 .as_micros();

8// 1704110400000000

纳秒(19位数字)

格式:自Unix纪元以来的纳秒数整数

1704110400000000000

何时使用:

超高精度时间要求

性能分析

交易系统

代码示例:

CopyGO1// Go

2timestamp := time.Now().UnixNano()

3// 1704110400000000000

4

5date := time.Unix(0, timestamp)

CopyRUST1// Rust

2let timestamp = SystemTime::now()

3 .duration_since(UNIX_EPOCH)

4 .unwrap()

5 .as_nanos();

6// 1704110400000000000

ISO 8601格式

基本格式(UTC)

格式:YYYY-MM-DDTHH:MM:SSZ

2024-01-01T12:00:00Z

何时使用:

国际数据交换

RESTful API

JSON数据存储

代码示例:

CopyJAVASCRIPT1// JavaScript

2const isoString = new Date().toISOString();

3// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2from datetime import datetime, timezone

3iso_string = datetime.now(timezone.utc).isoformat().replace('+00:00', 'Z')

4# 2024-01-01T12:00:00Z

CopyPHP1// PHP

2$iso_string = gmdate('Y-m-d\TH:i:s\Z');

3// 2024-01-01T12:00:00Z

扩展格式(带毫秒)

格式:YYYY-MM-DDTHH:MM:SS.sssZ

2024-01-01T12:00:00.000Z

CopyJAVASCRIPT1// JavaScript (默认)

2new Date().toISOString();

3// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2datetime.now(timezone.utc).isoformat(timespec='milliseconds').replace('+00:00', 'Z')

3# 2024-01-01T12:00:00.000Z

带时区偏移

格式:YYYY-MM-DDTHH:MM:SS±HH:MM

2024-01-01T12:00:00+00:00

2024-01-01T17:30:00+05:30 # IST

2024-01-01T07:00:00-05:00 # EST

代码示例:

CopyJAVASCRIPT1// JavaScript

2const date = new Date();

3const offset = -date.getTimezoneOffset();

4const sign = offset >= 0 ? '+' : '-';

5const hours = String(Math.floor(Math.abs(offset) / 60)).padStart(2, '0');

6const minutes = String(Math.abs(offset) % 60).padStart(2, '0');

7const iso = date.toISOString().replace('Z', `${sign}${hours}:${minutes}`);

8// 2024-01-01T12:00:00.000+00:00

CopyPYTHON1# Python

2datetime.now(timezone.utc).isoformat()

3# 2024-01-01T12:00:00+00:00

4

5# 使用特定时区

6from datetime import timezone, timedelta

7ist = timezone(timedelta(hours=5, minutes=30))

8datetime.now(ist).isoformat()

9# 2024-01-01T17:30:00+05:30

仅日期

格式:YYYY-MM-DD

2024-01-01

CopyJAVASCRIPT1// JavaScript

2new Date().toISOString().split('T')[0];

3// 2024-01-01

CopyPYTHON1# Python

2datetime.now().date().isoformat()

3# 2024-01-01

仅时间

格式:HH:MM:SS 或 HH:MM:SS.sss

12:00:00

12:00:00.000

CopyJAVASCRIPT1// JavaScript

2new Date().toISOString().split('T')[1];

3// 12:00:00.000Z

CopyPYTHON1# Python

2datetime.now().time().isoformat()

3# 12:00:00.000000

RFC 3339格式

格式:YYYY-MM-DDTHH:MM:SS.sss±HH:MM 或 ...Z

2024-01-01T12:00:00.000Z

2024-01-01T12:00:00.000+00:00

与ISO 8601的区别:

始终包含毫秒

始终包含时区

更严格的规范

代码示例:

CopyJAVASCRIPT1// JavaScript

2new Date().toISOString(); // 已符合RFC 3339

3// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2from datetime import datetime, timezone

3datetime.now(timezone.utc).isoformat()

4# 2024-01-01T12:00:00.000000+00:00

CopyGO1// Go

2time.Now().UTC().Format(time.RFC3339Nano)

3// 2024-01-01T12:00:00.000000000Z

RFC 2822格式

格式:Day, DD Mon YYYY HH:MM:SS ±HHMM

Mon, 01 Jan 2024 12:00:00 +0000

Mon, 01 Jan 2024 12:00:00 GMT

何时使用:

邮件头(Date字段)

HTTP头

RSS源

代码示例:

CopyJAVASCRIPT1// JavaScript

2new Date().toUTCString();

3// Mon, 01 Jan 2024 12:00:00 GMT

CopyPYTHON1# Python

2from email.utils import formatdate

3formatdate(timeval=None, localtime=False, usegmt=True)

4# Mon, 01 Jan 2024 12:00:00 GMT

CopyPHP1// PHP

2date('r');

3// Mon, 01 Jan 2024 12:00:00 +0000

SQL时间戳格式

MySQL/MariaDB DATETIME

格式:YYYY-MM-DD HH:MM:SS

2024-01-01 12:00:00

CopySQL1-- MySQL

2SELECT NOW();

3-- 2024-01-01 12:00:00

4

5SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

6-- 2024-01-01 12:00:00

PostgreSQL TIMESTAMP

格式:YYYY-MM-DD HH:MM:SS.ssssss±TZ

2024-01-01 12:00:00.000000+00

2024-01-01 12:00:00+00

CopySQL1-- PostgreSQL

2SELECT NOW();

3-- 2024-01-01 12:00:00.000000+00

4

5SELECT CURRENT_TIMESTAMP;

6-- 2024-01-01 12:00:00.000000+00

SQLite DATETIME

格式:YYYY-MM-DD HH:MM:SS(存储为文本)

2024-01-01 12:00:00

CopySQL1-- SQLite

2SELECT datetime('now');

3-- 2024-01-01 12:00:00

4

5SELECT strftime('%Y-%m-%d %H:%M:%S', 'now');

6-- 2024-01-01 12:00:00

Microsoft SQL Server

格式:YYYY-MM-DD HH:MM:SS.sss

2024-01-01 12:00:00.000

CopySQL1-- SQL Server

2SELECT GETUTCDATE();

3-- 2024-01-01 12:00:00.000

4

5SELECT FORMAT(GETUTCDATE(), 'yyyy-MM-dd HH:mm:ss.fff');

6-- 2024-01-01 12:00:00.000

特定语言格式

JavaScript

CopyJAVASCRIPT1// 各种格式

2const date = new Date();

3

4// ISO 8601

5date.toISOString(); // 2024-01-01T12:00:00.000Z

6

7// 本地字符串

8date.toLocaleString(); // 1/1/2024, 12:00:00 PM

9

10// UTC字符串

11date.toUTCString(); // Mon, 01 Jan 2024 12:00:00 GMT

12

13// 仅日期

14date.toLocaleDateString(); // 1/1/2024

15

16// 仅时间

17date.toLocaleTimeString(); // 12:00:00 PM

18

19// 自定义格式

20date.toLocaleString('zh-CN', {

21 year: 'numeric',

22 month: '2-digit',

23 day: '2-digit',

24 hour: '2-digit',

25 minute: '2-digit',

26 second: '2-digit',

27 hour12: false

28});

29// 2024/01/01 12:00:00

Python strftime代码

CopyPYTHON1from datetime import datetime

2

3dt = datetime(2024, 1, 1, 12, 0, 0)

4

5# 常用格式

6dt.strftime('%Y-%m-%d') # 2024-01-01

7dt.strftime('%Y-%m-%d %H:%M:%S') # 2024-01-01 12:00:00

8dt.strftime('%Y-%m-%dT%H:%M:%SZ') # 2024-01-01T12:00:00Z

9dt.strftime('%d/%m/%Y') # 01/01/2024

10dt.strftime('%m/%d/%Y') # 01/01/2024

11dt.strftime('%B %d, %Y') # January 01, 2024

12dt.strftime('%A, %B %d, %Y') # Monday, January 01, 2024

13dt.strftime('%I:%M %p') # 12:00 PM

PHP date()格式

CopyPHP1

2$timestamp = 1704110400;

3

4// 常用格式

5date('Y-m-d', $timestamp); // 2024-01-01

6date('Y-m-d H:i:s', $timestamp); // 2024-01-01 12:00:00

7date('c', $timestamp); // 2024-01-01T12:00:00+00:00 (ISO 8601)

8date('r', $timestamp); // Mon, 01 Jan 2024 12:00:00 +0000 (RFC 2822)

9date('U', $timestamp); // 1704110400 (Unix时间戳)

10date('d/m/Y', $timestamp); // 01/01/2024

11date('m/d/Y', $timestamp); // 01/01/2024

12date('F j, Y', $timestamp); // January 1, 2024

13date('l, F j, Y', $timestamp); // Monday, January 1, 2024

14date('g:i A', $timestamp); // 12:00 PM

Go时间格式

CopyGO1package main

2

3import (

4 "time"

5)

6

7func main() {

8 t := time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC)

9

10 // 标准格式

11 t.Format(time.RFC3339) // 2024-01-01T12:00:00Z

12 t.Format(time.RFC3339Nano) // 2024-01-01T12:00:00.000000000Z

13 t.Format(time.RFC822) // 01 Jan 24 12:00 UTC

14 t.Format(time.RFC1123) // Mon, 01 Jan 2024 12:00:00 UTC

15

16 // 自定义格式(使用参考时间:Jan 2 15:04:05 2006 MST)

17 t.Format("2006-01-02") // 2024-01-01

18 t.Format("2006-01-02 15:04:05") // 2024-01-01 12:00:00

19 t.Format("01/02/2006") // 01/01/2024

20 t.Format("January 2, 2006") // January 1, 2024

21 t.Format("3:04 PM") // 12:00 PM

22}

Java SimpleDateFormat

CopyJAVA1import java.text.SimpleDateFormat;

2import java.util.Date;

3import java.util.TimeZone;

4

5Date date = new Date(1704110400000L);

6SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

7sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

8

9// 常用模式

10"yyyy-MM-dd" // 2024-01-01

11"yyyy-MM-dd HH:mm:ss" // 2024-01-01 12:00:00

12"yyyy-MM-dd'T'HH:mm:ss'Z'" // 2024-01-01T12:00:00Z

13"dd/MM/yyyy" // 01/01/2024

14"MM/dd/yyyy" // 01/01/2024

15"MMMM d, yyyy" // January 1, 2024

16"EEEE, MMMM d, yyyy" // Monday, January 1, 2024

17"h:mm a" // 12:00 PM

格式转换快速参考

Unix → ISO 8601

CopyJAVASCRIPT1// JavaScript

2new Date(1704110400000).toISOString();

3// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2from datetime import datetime, timezone

3datetime.fromtimestamp(1704110400, timezone.utc).isoformat()

4# 2024-01-01T12:00:00+00:00

ISO 8601 → Unix

CopyJAVASCRIPT1// JavaScript

2new Date('2024-01-01T12:00:00Z').getTime();

3// 1704110400000

CopyPYTHON1# Python

2from datetime import datetime

3datetime.fromisoformat('2024-01-01T12:00:00+00:00').timestamp()

4# 1704110400.0

RFC 2822 → ISO 8601

CopyJAVASCRIPT1// JavaScript

2new Date('Mon, 01 Jan 2024 12:00:00 GMT').toISOString();

3// 2024-01-01T12:00:00.000Z

CopyPYTHON1# Python

2from email.utils import parsedate_to_datetime

3parsedate_to_datetime('Mon, 01 Jan 2024 12:00:00 GMT').isoformat()

4# 2024-01-01T12:00:00+00:00

最佳实践

存储建议

数据库:使用原生TIMESTAMP类型并支持时区

API:使用带时区的ISO 8601以保证可移植性

内部处理:使用Unix毫秒进行计算

日志记录:使用带毫秒和时区的ISO 8601

时区处理

始终包含时区 - 避免歧义时间戳

以UTC存储 - 仅在显示时转换为本地时间

使用Z表示UTC - 比+00:00更清晰

验证时区偏移 - 确保在-12:00到+14:00范围内

精度选择

精度使用场景示例秒用户事件、调度1704110400毫秒Web应用、通用日志1704110400000微秒性能监控1704110400000000纳秒高频交易1704110400000000000

常见陷阱

❌ 避免:

存储没有时区信息的时间戳

使用本地时间存储(始终使用UTC)

混用不同精度级别

硬编码时区偏移

使用32位整数(2038年问题)

✅ 应该:

始终包含时区指示符(Z或±HH:MM)

以UTC存储,仅在显示时转换为本地时间

在整个系统中使用一致的精度

使用时区感知的datetime对象

对Unix时间戳使用64位整数

相关工具

Unix时间戳转换器 - 在格式之间转换

时间戳格式构建器 - 创建自定义格式

时区转换器 - 处理时区转换

批量时间戳转换器 - 转换多个时间戳

相关指南

ISO 8601格式详解

理解时区

时间戳精度等级

相关阅读

365bet官网体育投注 如何做客户维护和管理

如何做客户维护和管理

365bet导航 解决电脑扬声器无声问题的全面指南与步骤解析

解决电脑扬声器无声问题的全面指南与步骤解析

365bet官网体育投注 哪里收购鼠妇

哪里收购鼠妇

365bet导航 6 个好用的博客建站 CMS 工具推荐

6 个好用的博客建站 CMS 工具推荐

365提款验证地址是什么 《绝地求生》为什么这么火?

《绝地求生》为什么这么火?

365bet导航 史上最全粉笔字书写教程(教师必备).pptx

史上最全粉笔字书写教程(教师必备).pptx

365bet导航 69美元的NVIDIA GT 1030 - 值得入手嗎?詳細測試與評價!

69美元的NVIDIA GT 1030 - 值得入手嗎?詳細測試與評價!

365bet官网体育投注 正在阅读:如何联系到美拍客服 美拍客服联系方式介绍如何联系到美拍客服 美拍客服联系方式介绍

正在阅读:如何联系到美拍客服 美拍客服联系方式介绍如何联系到美拍客服 美拍客服联系方式介绍

365提款验证地址是什么 热血游戏三界合璧,《剑侠青云》评测玩家的福利心得

热血游戏三界合璧,《剑侠青云》评测玩家的福利心得