python中与时间有关的对象-datetime、time、date

枫铃3年前 (2021-07-10)Python275

一、time模块

1.time.strptime :将时间字符串转化为时间类型

格式:time.strptime(string[string[, format])

结果可以利用利用time.tm_year 返回年份,其余雷同。

#例子
>>> t = time.strptime("2018-2-2", "%Y-%m-%d")
>>> t
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=33, tm_isdst=-1)
>>> t.tm_year

2.time.strftime:将时间类型转化为指定格式的字符串

# 返回当前时间
>>> time.strftime("%Y-%m-%d")
'2018-03-08'

3、time.sleep(secs) :在给定的秒数内挂起调用的线程执行,也就是让线程休眠secs秒

4、时间戳转为时间格式 time.localtime([sec])

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import time
>>> t = 1527138892.000
>>> a = time.localtime(t)
>>> a
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=24, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=3, tm_yday=144, tm_isdst=0)
>>> time.strftime("%Y/%m/%d %H:%M",a)
'2018/05/24 13:14'

5、获取时间戳 time.time()

>>> time.time()
1527139949.5524685

6、获取时间戳对应的时间

1、time.ctime([sec])

– 传入的参数为时间戳

– 如果不穿参数,则以当时的时间戳为准

2、time.asctime(args)

– 传入参数为time.localtime()转化化后的值

time.ctime([sec]) 与 time.asctime(time.localtime([esc])) 相同

>>> t = 1527139949.5524685
>>> time.ctime(t)
'Thu May 24 13:32:29 2018'

>>> time.ctime()
'Thu May 24 13:33:13 2018'

二、datetime 模块

1、datetime.date() : 可以传入一个时间元组,返回一个date类型的时间

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
c = datetime.date(2018,10,2)
print(c)
#datetime.date(2018, 10, 2)

2、date.timetuple(): 返回一个时间的元组

分别为 (年,月,日,小时,分钟,秒,周几,一年中的第几天,DST标记)。可以利用 date.timetuple().tm_year 获取年份,其余雷同。

>>> date_time = datetime.date(1971,12,1)
>>> date_time
datetime.date(1971, 12, 1)
 >>> date_time.timetuple()
time.struct_time(tm_year=1971, tm_mon=12, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=335,tm_isdst=-1)

3、timedelta():表示时间的间隔,可用来计算时间上的差值,适用于datetime于date类型,如果是time类型,则会报错。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import datetime

>>> today = datetime.date.today()
>>> three_day = datetime.timedelta(days=3)
>>> today + three_days
datetime.date(2018, 3, 11)



>>> today = datetime.datetime.now()
>>> three_days = datetime.timedelta(days=3)
>>> today + three_days
datetime.datetime(2018, 3, 11, 21, 52, 23, 587921)

注:timedalta的参数可以是 周(weeks)天(days),小时(hours),分钟(minutes),秒(seconds),微秒(microseconds)

做运算的时候可能会出现时间的冒出,应用时应该掌握好范围。

三、date对象

1、datetime.date.today()

返回当前本地的日期。这相当于date.fromtimestamp(time.time())。

datetime.date.today()
#返回:datetime.date(年,月,日)

2、date类型的对象的方法(以下date代表date类型的对象):

1、date.year #返回date对象对应的年份

2、date.month #返回date对象对应的月份

3、date.day#返回date对象对应的天数

4、date.replace(year, month, day) :根据参数返回新的日期

5、date.weekday() 返回一周中的第几天,0代表周一,6代表周日

6、date.isoweekday() 返回星期几,周一是1,周日是7

7、date.isocalendar()返回一个3元组 (ISO year, ISO week number, ISO weekday) 年,一年中的第几周,一周中的第几天

8、date.isoformat() 返回 格式‘YYYY-MM-DD’表示日期的字符串。

>>> datetime.date(2018, 12, 4).isoformat()
'2018-12-04'

9、date.ctime()返回表示日期的字符串。

>>> datetime.date(2018, 1, 1).ctime()
'Mon Jan  1 00:00:00 2018'

10、date.strftime(format)

返回一个表示日期的字符串,由显式的格式字符串控制。引用小时、分钟和秒的格式代码的值将为0。

>>> datetime.date(2018, 1, 1).strftime("%Y-%m-%d")
'2018-01-01'

相关文章

Python练习题:批量删除多个文件夹内的相同文件

应用场景: 下载的多个文件夹是压缩包,解压后每个文件夹都有某个网站的推广链接,想要批量的删除该文件 使用环境&#...

Python常用的模块和简单用法

random 随机模块...

python字典教程:添加与删除

1. 添加字典元素 方...

Python计算大文件行数方法及性能比较

Python计算大文件行数方法及性能比较

如何使用Python快速高效地统计出大文件的总行数, 下面是一些实现方法和性能的比较。 1.readline读所有行 使用readlines方法读取所有行...

python3输入的input()坑

如下所示:...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。