Python time模块和datetime模块

1 time模块常用讲解
# !/usr/bin/env python
# -*- coding:utf-8 -*-

import time

# 时间戳
print(time.time())  # 1645541324.44801  1970年到现在所经过秒数

# 格式化时间
print(time.strftime('%Y-%m-%d'), type(time.strftime('%Y-%m-%d')))  # 2022-02-22  <class 'str'>
print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 2022-02-22 22:52:26

ret = time.strftime('%Y{}%m{}%d{}')
print(ret.format('年', '月', '日'))  # 2022年02月22日

# 结构化时间,时间元组,可以对时间进行操作
print(time.localtime())
# time.struct_time(tm_year=2022, tm_mon=2, tm_mday=22, tm_hour=22, tm_min=58, tm_sec=48, tm_wday=1, tm_yday=53, tm_isdst=0)


# 1、格式化时间--->时间戳,需要经过下面两步:
# 格式化时间 ---->  结构化时间
ft = time.strftime('%Y-%m-%d %H:%M:%S')
st = time.strptime(ft, '%Y-%m-%d %H:%M:%S')
print(st)
# 结构化时间 ---> 时间戳
t = time.mktime(st)
print(t)

# 2、时间戳--->格式化时间,需要经过下面两步:
# 时间戳 ----> 结构化时间
t = time.time()
st = time.localtime(t)
print(st)
# 结构化时间 ---> 格式化时间
ft = time.strftime('%Y-%m-%d %H:%M:%S', st)
print(ft)

# 计算时间差:
true_time = time.mktime(time.strptime('2020-09-20 11:30:00', '%Y-%m-%d %H:%M:%S'))
time_now = time.mktime(time.strptime('2022-02-22 22:22:22', '%Y-%m-%d %H:%M:%S'))
dif_time = time_now - true_time
struct_time = time.gmtime(dif_time)
print('距今%d年%d月%d天%d小时%d分钟%d秒' % (struct_time.tm_year - 1970, struct_time.tm_mon - 1,
                                  struct_time.tm_mday - 1, struct_time.tm_hour,
                                  struct_time.tm_min, struct_time.tm_sec))

2 datetime模块常用讲解
# !/usr/bin/env python
# -*- coding:utf-8 -*-

import datetime

# 当前时间
now_time = datetime.datetime.now()
print(now_time)  # 2022-02-22 23:18:33.032196
print(type(now_time))  # <class 'datetime.datetime'>

# 时间调整:只能调整的字段:weeks days hours minutes seconds
print(datetime.datetime.now() + datetime.timedelta(weeks=3))  # 三周后
print(datetime.datetime.now() + datetime.timedelta(weeks=-3))  # 三周前
print(datetime.datetime.now() + datetime.timedelta(days=-3))  # 三天前
print(datetime.datetime.now() + datetime.timedelta(days=3))  # 三天后
print(datetime.datetime.now() + datetime.timedelta(hours=5))  # 5小时后
print(datetime.datetime.now() + datetime.timedelta(hours=-5))  # 5小时前
print(datetime.datetime.now() + datetime.timedelta(minutes=-15))  # 15分钟前
print(datetime.datetime.now() + datetime.timedelta(minutes=15))  # 15分钟后
print(datetime.datetime.now() + datetime.timedelta(seconds=-70))  # 70秒前
print(datetime.datetime.now() + datetime.timedelta(seconds=70))  # 70秒后

# 可直接调整到指定的 年 月 日 时 分 秒 等
current_time = datetime.datetime.now()
print(current_time.replace(year=1977))  # 直接调整到1977年
print(current_time.replace(month=1))  # 直接调整到1月份
print(current_time.replace(year=1989,month=4,day=25))  # 1989-04-25 18:49:05.898601

# 将时间戳转化成时间
print(datetime.date.fromtimestamp(12312132131))  # 2360-02-27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值