美文网首页
[ python 工具书 ] python 中 datetime

[ python 工具书 ] python 中 datetime

作者: Twins_YSQ | 来源:发表于2019-11-21 16:14 被阅读0次

实践检验真知

以下代码直接复制到文件运行

1. time 模块详解

import time
"""
time模块
入口:
localtime  的入口是秒时间戳或当前时间
strptime   的入口是时间字符串

备注:
有时间戳或者时间字符串才有全部

"""
print('\n------------获取当前秒时间戳------------')
print(time.time())

print('\n------------获取秒时间戳对应的时间对象(时间元组) 没有传就默认是当前时间戳  ------------')
print(time.localtime())
print(time.localtime(time.time()))

print('\n------------获取时间对象转时间戳------------')
print(time.mktime(time.localtime()))

print('\n------------ asctime 格式化时间对象------------')
print(time.asctime(time.localtime()))

print('\n------------ strftime 格式化时间对象------------')
print(time.strftime(
    """
    两位年份( %%y ): %y 
    四位年份( %%Y ): %Y
    几月  ( %%m ) : %m    从1开始
    月份名( %%b ) : %b     简化
    月份名( %%B ) : %B     全称
    几号  ( %%d ) : %d
    几时  ( %%H ) : %H    24小时制
    几时  ( %%l ) : %l    12小时制
    分钟数( %%M ) : %M
    秒数  ( %%S ) : %S
    周几  ( %%a ) : %a     简化
    周几  ( %%A ) : %A     全称
    asctime( %%c ) : %c     和time.asctime()方法格式化一致
    上午下午( %%p ) : %p
    今天今年天数( %%j ) : %j
    今天今年周数( %%U ) : %U    周日为一周的开始
    今天今年周数( %%W ) : %U    周一为一周的开始
    今天今月周数( %%w ) : %w    周日为一周的开始
    时区  ( %%Z ) : %Z
    当地格式日期表示( %%X ) : %X
    当地格式时间表示( %%x ) : %x 
    """,
    time.localtime()))

print('\n------------ strftime 格式化时间字符串------------')
print(time.strptime('2019/11/21 03:24:21', '%Y/%m/%d %H:%M:%S'))

print('\n------------ 线程休眠 ------------')
time.sleep(1)
print('休眠完')

"""
总结:
该模块使用于获取时间,生成时间,格式化时间功能
"""

2. datetime 模块详解

from datetime import datetime, date as dtdate, time as dttime, timedelta
"""
datatime模块
入口:
datetime.datetime()     通过数字年月日时分秒获取 datetime 对象
datetime.now()             获取当前时间的 datetime 对象
备注:
datatime 对象可以和 timedelta 对象 直接加减
datatime 对象相减可得 timedelta 对象

"""
print('\n------------ 获取当前时间对象 ------------')
now = datetime.now()
print(now)

print('\n------------ 获取时间对象时间戳 ------------')
print(now.timetuple())

print('\n------------ 获取指定时间对象 ------------')
dt1 = datetime(2019, 10, 21, 3, 41, 34)
dt2 = dtdate(2019, 10, 21)
dt3 = dttime(3, 41, 34)
print(dt1)


print('\n------------ 计算时间相差 返回 timedelta 对象 ------------')
td1 = dt1-now
print(td1)
print(td1.days)
print(dir(timedelta))    # timedelta的所有属性


print('\n------------ 通过时间相差 得到目标时间 ------------')
print(now + timedelta(days=100))  # 100天后是?


print('\n------------ 通过修改 得到目标时间 ------------')
print(now.replace(day=10, minute=30, hour=10))

print('\n------------ strptime 字符串格式化为dateTime ------------')
print(datetime.strptime('Thu Nov 21 15:55:54 2019', '%c'))

print('\n------------ strftime dateTime格式化为字符串 ------------')
print(datetime.strftime(now, '%c'))

"""
总结:
该模块是时间操作模块, 适用于计算时间, 操作时间等
"""

3.datetime对象和time对象之间的相互转换

"""
转化
datetime -> 时间戳 -> time
datetime -> 字符串 -> time
time -> 字符串 -> datetime

"""
print('\n------------ datetime转秒时间戳 ------------')
print(time.localtime(time.mktime(datetime.now().timetuple())))

print('\n------------ datetime -> 字符串 -> time ------------')
print(time.strptime(datetime.strftime(datetime.now(), '%c'), '%c'))

print('\n------------ time -> 字符串 -> datetime ------------')
print(datetime.strptime(time.strftime('%c', time.localtime()), '%c'))

如果觉得还行, 留个言吧

如果觉得不行, 吐个槽吧

相关文章

网友评论

      本文标题:[ python 工具书 ] python 中 datetime

      本文链接:https://www.haomeiwen.com/subject/goetwctx.html