python时间对象的各种格式化和转换

官方文档:Basic date and time typesTime access and conversions

常见时间格式化应用

  1. 如果我们只需要一个时间戳,使用time.time()或者datetime.datetime.timestamp(),结果为10位数字.6位数字二者等同;如果想要10位或13位时间戳,只需要执行int(x)转换或int(x*1000)即可。
  2. 如果只需要一个日期,可以使用datetime.datetime.today().isoformat()或者time.strftime('%Y-%m-%d'),结果举例:2024-04-05
  3. 如果我们想指定格式的话,可以使用datetime.datetime.today().strftime('%Y.%M.%D')或者time.strftime(),而这等同,结果举例:2024.04.05;
  4. 如果想计算时间差值,比如计算出昨天的日期,可以使用如下方法:datetime.datetime.today() - datetime.timedelta(days=1)即当天日期减去1天的差值。
  5. 时间戳转时间字符串:time.strftime(format_string, time.localtime(时间戳数字))
  6. 时间字符串转时间戳:time.mktime(time.strptime(data_string, format))

datetime

datetime.date

属性/方法 功能 说明
.max 日期最大值 类属性
.min 日期最小值 类属性
.today() 今天的日期 类方法
.year 对象的属性 int类型
.month 对象的属性 int类型
.day 对象的属性 int类型
.weekday 对象的星期属性 周一 ~ 周日(0 ~ 6)
.isoweekday 对象的星期属性 周一 ~ 周日(1 ~ 7)
.isoformat() 对象的字符串格式化 例如:2024-04-05
.strftime(format: str) 指定格式格式化 例如:x.strftime('%Y-%m-%d')
.replace() 更改对象中的属性 例如:x = x.replace(year=9)

datetime.time

属性/方法 功能 说明
.max 时间最大值 类属性
.min 时间最小值 类属性
.hour 对象的小时属性 int类型
.minute 对象的分钟属性 int类型
.second 对象的属性 int类型
.microsecond 对象的微秒属性 int类型
.isoformat() 对象的字符串格式化 例如:16:14:15
.strftime(format: str) 指定格式格式化 例如 x.strftime('%H:%M:%S')
.replace() 更改对象中的属性 例如:x = x.replace(hour=10)

datetime.datetime

这个对象结合了上述两个对象的特点。

属性/方法 功能 说明
.max 日期最大值 类属性
.min 日期最小值 类属性
.now() 现在的日期 类方法,同 .today()
.today() 今天的日期 类方法,同 .now()
.strptime(data_string, format) 将时间字符串转换为事件对象 类方法
.year 对象的属性 int类型
.month 对象的属性 int类型
.day 对象的属性 int类型
.hour 对象的小时属性 int类型
.minute 对象的分钟属性 int类型
.second 对象的属性 int类型
.microsecond 对象的微秒属性 int类型
.date() 对象的date部分 =datetime.date
.time() 对象的time部分 =datetime.time
.isoformat() 对象的字符串格式化 例如:2024-04-05T16:14:15.318302
.timestamp() 13位.时间戳 例如:1234567890.123456,相当于time.time()
strftime()(format: str) 指定格式格式化 例如 x.strftime('%Y-%m-%d %H:%M:%S')

datetime.timedelta

timedelta的签名如下:

def __new__(cls, days=0, seconds=0, microseconds=0, milliseconds=0, minute=0, hours=0, weeks=0):
属性/方法 功能 说明
.max timedelta的最大值 类属性
.min timedelta的最小值 类属性
.days timedelta对象的天数 实例化时的weeks会转换成这个
.microseconds timedelta对象的微秒数 实例化时minutes和hours会转换成这个
.total_seconds timedelta对象的总大小(换算成秒) 浮点数

time

属性/方法 功能 说明
time.gmtime() struct_time对象 无时区信息
time.localtime() struct_time对象 带时区偏移,比如中国的时间=gmt+0800
time.mktime(struct_time) 时间对象 -> 时间戳 float对象
time.time() 时间戳 比如:1234567890.123456
time.sleep(seconds) 休眠
time.strftime(format, struct_time) 指定格式格式化 第二参数可省略,比如:time.strftime('%Y-%m-%d')
time.strptime(data_string, format) 格式化时间字符串,返回struct_time
posted @ 2024-04-05 22:33  那个白熊  阅读(6)  评论(0编辑  收藏  举报