Python学习之Part12.时间模块 time & datetime

1. 时间模块time

在python中,时间通常有下面几种表示形式:
 1.时间戳
 2.字符串时间
 3.元组类型的时间

在使用方法前,导入time模块:

import time

1. 时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
time.time()
 返回值:从1970年1月1日00:00:00开始到当前的秒数
 返回值类型:float类型

print(time.time())

运行结果如下:
在这里插入图片描述
2. 字符串时间:即我们最常见到,也最熟悉的时间格式
time.asctime():把一个表示元组时间或者struct_time表示为这种固定形式:‘Sun Jun 20 23:21:05 1993’,如果没有参数,将会将time.localtime()作为参数传入。
 返回值:固定形式的时间
 返回值类型:字符串类型

print(time.asctime())
print(type(time.asctime()))

输出结果如下:
在这里插入图片描述
time.ctime():把一个时间戳转化为time.asctime()的形式,如果参数未给或者为None的时候,将会默认time.time()为参数。

print(time.ctime())
print(type(time.ctime()))

输出结果如下:
在这里插入图片描述
3. 元组时间(struct_time):
struct_time元组共有9个元素,下面列出这种方式元组中的几个元素:

索引(Index)属性(Attribute)值(Values)
0tm_year(年)年份:比如2019
1tm_mon(月)1 - 12月
2tm_mday(日)1 - 31天
3tm_hour(时)0-24时
4tm_min(分)0 - 59
5tm_sec(秒)0 - 60
6tm_wday(weekday)0 - 6(0表示周日)
7tm_yday(一年中的第几天)1 - 366
8tm_isdst(是否是夏令时)默认为-1

time.localtime():将一个时间戳转换为当前时区的元组时间,参数未提供,则以当前时间为准。
 返回值:元组时间
 返回值类型:time.struct_time

info = time.localtime()
print(info,type(info))

输出结果如下:
在这里插入图片描述在这里插入图片描述
可以在元组时间中提取具体想要的值:

info = time.localtime()
print(info.tm_year)
print(info.tm_mon)

输出结果如下:
在这里插入图片描述

2. 常用时间的转换

1. 把元组时间转换为时间戳
time.mktime()
 返回值:时间戳
 返回值类型:float型

tuple_time = time.localtime()
time_now = time.mktime(tuple_time)
print(time_now, type(time_now))

输出结果:
在这里插入图片描述 2. 把元组时间转化为字符串时间
time.strftime(format, p_tuple=None):把元组时间转化为格式化的字符串时间。如果 p_tuple 未指定,默认time.localtime()的值。
 返回值:指定格式的时间
 返回值类型:字符串型
常用格式及说明如下:

格式说明
%m几月份(01 - 12)
%d一个月中的第几天(01 - 31)
%H一天中的第几个小时(00 - 23)
%j一年中的第几天(001 - 366)
%Y公历的年份
%T时:分:秒 (格式输出当前时间)
%F年 - 月 - 日 (格式输出当前时间)
%M分钟数(00 - 59)
%S秒(01 - 61)
tuple_time = time.localtime()
# 按照天-月格式输出时间
print(time.strftime('%d-%m',tuple_time))

输出结果:
在这里插入图片描述

tuple_time = time.localtime()
# 按照年/月/日格式输出当前时间
print(time.strftime('%Y/%m/%d',tuple_time))

输出结果:
在这里插入图片描述

tuple_time = time.localtime()
# 按照 时:分:秒 格式输出当前时间
print(time.strftime('%T',tuple_time))

输出结果:
在这里插入图片描述

tuple_time = time.localtime()
# 按照 年-月-日 格式输出当前时间
print(time.strftime('%F',tuple_time))

输出结果:
在这里插入图片描述
3. 将时间戳转换为字符串时间
time.ctime()
 返回值:字符串时间
 返回值类型:字符串型

time_now = os.path.getctime('data.txt')
print(time_now)
print(time.ctime(time_now))

输出结果:
在这里插入图片描述

3. datetime模块

首先导入模块:

from datetime import date
from datetime import datetime
from datetime import timedelta

1. 当前日期
date.today():按照 年 - 月 - 日 格式输出当前日期

print(date.today())

输出结果:
在这里插入图片描述
datetime.now():按照 年 - 月 - 日   时:分:秒 的格式输出当前时间

print(datetime.now())

在这里插入图片描述
2. 如何计算三天前的时间和三天后的时间

d = date.today()
delta = timedelta(days=3)
print('3天后是: ', d + delta)
print('3天前是: ', d - delta)

输出结果如下:
在这里插入图片描述
3. 如何计算两个小时前的时间和两个小时后的时间

now_hour = datetime.now()
delta = timedelta(hours=2)
print('两个小时前是: ',now_hour - delta)
print('两个小时后是: ',now_hour + delta)

运行结果:
在这里插入图片描述4. 返回两个时间 想计算两个时间之间的时间差

now_time = datetime.now()
print('当前时间: ', now_time)
pwd_time = os.path.getmtime('data.txt')
print('最近文件修改时间: ', pwd_time)
pwd_time_obj = datetime.fromtimestamp(pwd_time)
print('最近文件修改时间的字符串时间: ', pwd_time_obj)
delta = now_time - pwd_time_obj
print('文件最后一次修改到现在的时间差: ', delta)

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值