标准日期和时间格式简介
不同的日期时间格式在不同的领域有着广泛的应用。例如,UNIX时间戳 在编程和数据库中广泛使用,因为它们可以简单地表示为一个整数;ISO 8601 和 RFC 3339 格式常用于网络协议和API接口,因为它们具有很好的可读性和一致性。
了解不同的日期时间格式并掌握其在不同场景下的应用,对于计算机科学、软件工程以及数据分析等领域的专业人士来说都是非常必要的。
w3.org - Date and Time Formats
ISO 8601
ISO8601 是国际标准化组织制定的日期和时间表示法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。最新为第三版ISO8601:2004,第一版为ISO8601:1988,第二版为ISO8601:2000。
它的通用形式为 YYYY-MM-DDThh:mm:ss 或 YYYY-MM-DDThh:mm:ss.sssZ。
YYYY 代表四位数年份,MM 代表月份,DD 代表天数,T 作为 日期和时间的分隔符,HH 代表小时,mm 代表分钟,ss.sss
代表秒和毫秒,Z 代表时区。
示例:
2021-12-31T23:59:59
1987-03-25T08:15:30+08:00
1987-03-25T08:15:30Z
1987-03-24T16:00:00.000Z代码:
from datetime import datetime
now = datetime.now()
print(now.isoformat())RFC 3339
RFC 3339 定义了日期和时间的表示形式,主要用于互联网协议和标准中。它是 ISO 8601 的一个子集,并做了一些具体化的规定。
例: 1985-04-12T23:20:50.52Z 表示UTC时间1985年4月12日23时20分50.52秒。
What's the difference between ISO 8601 and RFC 3339 Date Formats?
Go语言支持的标准日期和时间格式
在Go语言的源码包 src/time/format.go 有定义了常见的时间格式:
const (
    Layout      = "01/02 03:04:05PM '06 -0700" // The reference time, in numerical order.
    ANSIC       = "Mon Jan _2 15:04:05 2006"
    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822      = "02 Jan 06 15:04 MST"
    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
    RFC3339     = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen     = "3:04PM"
    // Handy time stamps.
    Stamp      = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano  = "Jan _2 15:04:05.000000000"
)日期时间表示格式大全: ISO 8601、RFC、时间戳、Excel... https://blog.51cto.com/lilongsy/6193015
常用日期时间格式(日期格式)介绍、文件日期时间(文件名日期时间)(ISO 8601、UNIX时间戳、RFC 3339、ANSI C的asctime()样式、年月日时分秒格式) https://blog.csdn.net/Dontla/article/details/133104392
 沙滩星空的博客
沙滩星空的博客