数据类型-日期

一曲冷凌霜 提交于 2020-02-12 00:23:45

Python中日期格式化是非常常见的操作,Python 中能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python 提供了一个 time模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年01月01日00时00分00秒起经过了多长时间来表示。

获取日期时间戳

获取当前日期:time.time() # 返回一个时间戳
获取元组形式的时间戳:time.local(time.time())

t = time.localtime(time.time())
print(t,type(t))
# time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=14, tm_min=43, tm_sec=55, tm_wday=0, tm_yday=13, tm_isdst=0) <class 'time.struct_time'>

格式化符号

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称

格式化日期(基于time模块):

1. 将字符串的时间转换为时间格式time.struct_time

time.strftime(format[,t])

import time  
t = "2020-01-13 17:30:00"
#将其转换为time.struct_time格式
struct_time = time.strptime(t, "%Y-%m-%d %H:%M:%S")  
print(struct_time)
# time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=17, tm_min=30, tm_sec=0, tm_wday=0, tm_yday=13, tm_isdst=-1)

2. 将time.struct_time转为时间戳

time_stamp = int(time.mktime(struct_time))  
print(time_stamp)
# 1578907800

3. 时间戳转换为指定格式日期

local_time = time.localtime(time_stamp)  
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)  
print(format_time)
# 2020-01-13 17:30:00
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!