python 时间格式转换


☺结构化时间是中间桥梁,时间字符串需要先转为结构化时间再转为时间戳,反之亦然

datetime 使用

datetime 获取当前时间

import datetime
datetime.datetime.now()
# 输出年、月、日、时、分、秒、微秒
> datetime.datetime(2023, 3, 18, 11, 37, 16, 331951)

返回结构化时间对象,具有以下属性:
year
month
day
hour
minute
second
microsecond
可以通过.获取每个属性值,如: datetime.datetime.now().year

datetime.datetime.now().year
> 2023
datetime.datetime.now().month
> 3

datetime将日期转为时间字符串

dt = datetime.datetime.now()
dt.strftime('%Y-%m-%d %H:%M:%S')
> '2023-03-18 11:50:35'
# 指定转换日期
dt = datetime.datetime(2022, 9, 17)
dt.strftime('%Y-%m-%d %H:%M:%S') 
> '2022-09-17 00:00:00'
# 修改字符串格式
dt = datetime.datetime(2022, 9, 17)
dt.strftime('%Y%m%d')
> '20220917'

datetime将日期转换为时间戳

dt = datetime.datetime(2022, 9, 17)       # 指定日期
dt.timestamp()        
> 1663344000.0

datetime将时间字符串转为时间戳

c = datetime.datetime.strptime('20220916', '%Y%m%d')      # 先将字符串转为datetime对象
datetime.datetime.timestamp(c)            # 将datetime对象转为时间戳
> 1663257600.0

datetime将时间戳转为时间字符串

d = datetime.datetime.fromtimestamp(1663257600.0)    # 先将时间戳转为datetime对象
> datetime.datetime(2022, 9, 16, 0, 0)
datetime.datetime.strftime(d, '%Y%m%d')        # 再将datetime对象转为时间字符串
> '20220916'

time 使用

time获取当前时间

import time

time.time()   # 获取当前时间的时间戳
> 1663398344.2743688

time.localtime()    # 获取到当前时间的struct_time
> time.struct_time(tm_year=2023, tm_mon=3, tm_mday=18, tm_hour=14, tm_min=30, tm_sec=52, tm_wday=5, tm_yday=77, tm_isdst=0)

time将时间戳转换为时间字符串

strftime将结构化时间转为字符串

time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())          
> '2022-09-17 15:11:15'

time.strftime('%Y%m%d', time.localtime())                                  
> '20220917'

time将时间字符串转为时间戳

time.strptime('20220917', '%Y%m%d')       # 先将时间字符串转为结构化时间,'20220917'--> 
> time.struct_time(tm_year=2022, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=260, tm_isdst=-1)
# 或者
time.strptime('2022-09-17 15:15:15', '%Y-%m-%d %H:%M:%S')     # 先将时间字符串转为结构化时间,'2022-09-17 15:15:15'--> 
> time.struct_time(tm_year=2022, tm_mon=9, tm_mday=17, tm_hour=15, tm_min=15, tm_sec=15, tm_wday=5, tm_yday=260, tm_isdst=-1)

time.mktime(time.strptime('20220917', '%Y%m%d'))        # 将结构化时间转为时间戳
> 1663344000.0

将时间戳转为结构化时间

time.localtime(1663344000.0)     
> time.struct_time(tm_year=2022, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=260, tm_isdst=0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值