ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python time模块和datetime模块

2022-02-23 00:01:29  阅读:188  来源: 互联网

标签:-% Python datetime tm 模块 time print now


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,datetime,tm,模块,time,print,now
来源: https://blog.csdn.net/m0_57787326/article/details/123080221

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有