Python教程

Python time模块和datetime模块

本文主要是介绍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

这篇关于Python time模块和datetime模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!