时间表示符号和Python datetime

本文介绍了时间表示格式,包括Unix时间、ISO8601和RFC3339,并讨论了Python datetime模块的特点,特别是时区处理、datetime对象的注意事项,如时间戳的时区一致性问题、时区偏移量的表示差异、年份格式化以及秒的精度问题。此外,还提供了部分代码示例来解析不同时间格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间表示格式

  1. Unix time
    通俗来说Unix time是自Unix纪元(1970年1月1日的UTC)以来经过的秒数。Unix时间是一个带符号的数字,编程中常被称为Timestamp。

  2. ISO8601
    看名字就能猜到ISO8601是个国际标准,明确来说它是一项涉及与日期和时间相关的数据交换的国际标准,于1988年首次发布。

  3. RFC3339
    RFC(Request for Comments)是由Internet协会(Internet Society,ISOC)发表的,它是Internet的主要技术开发和标准制定机构。因此RFC3339是用于Internet的日期和时间标准,于2002年发表。
    RFC3339包含ISO 8601标准的Internet配置文件,用于使用公历表示日期和时间。

时区

时区不用介绍,大家都懂,但是有两个相关概念容易混淆,那就是世界协调时UTC格林威治标准时间GMT
现在UTC是全世界调节时钟和时间的主要时间标准,可以粗略认为UTC接替了GMT。

Python datetime

使用标准库datetime最大的感受就是对时区处理不友好,官方的理由是时区涉及到政治时间和夏令时,多变,不好统一。用法直接看文档就好了,这里主要说一下注意事项:

datetime注意事项

  1. 为什么格式化时间不带时区信息?
    官方文档的开头详细介绍了该标准库中有两种日期和时间对象:naiveaware,它们的区别就是前者没有时区信息,后者带有时区信息。
    默认都是naive,直接打印或者strftime,显示的时间字符串都没有时区信息。
    如果你想得到一个aware对象,需要显式指定tzinfo属性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值