2021-02-16阿杰学python,时间模块

阿杰学python,时间模块

# coding=utf-8
import time
import datetime
import calendar

"""
UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC+8
DST(夏令时):是一种节约能源而人为规定的时间制度,在夏季调快1个小时


时间的表示形式:
1 时间戳
以整型或浮点型表示时间的一个以秒为单位的时间间隔,这个时间间隔的基础值是从1970年1月1日零点开始算起的
2 元组
一种python的数据结构表示,这个元组有9个整型内容
year
month
day
hours
minutes
seconds
weekday
Julia day
flag(1 或 -1 或 0)一般写0,表示正常时间,代表是否使用DST
3 格式化字符串
    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00=59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身
"""
# 返回当前时间的时间戳
t = time.time()
print(t)

# 将时间戳转为UTC时间元组
t_u = time.gmtime(t)
print(t_u)

# 将时间戳转为本地时间元组
t_l = time.localtime(t)
print(t_l)

# 将本地时间元组转成时间戳
t_l_t = time.mktime(t_l)
print(t_l_t)

# 将时间元组转成字符串
t_l_s = time.asctime(t_l)
print(t_l_s)

# 将时间戳转成字符串
t_s = time.ctime(t)
print(t_s)

# 将时间元组转换成给定格式的字符串,参数2为时间元组,如果没有,默认转当前时间
# s_myself_t = time.strftime()

# 将是时间字符串转为时间元组
# time.strptime()

# 延迟一个时间,参数可一给整型或浮点型
time.sleep(0)

# 返回当前程序的CPU执行时间python3应该用不了,改用time.process_time()

# t_test = time.clock()
# print(t_test)

# ---------------------------------------------------
# 以下是datetime模块中函数的使用
"""
模块中的类:
datetime: 同时有时间和日期
timedelta: 主要用于计算时间跨度(时间差)
tzinfo: 与时区相关
time 只关注时间
data 只关注日期
"""
# 获取当前时间
print("-------------------------------------------------------------")
d1 = datetime.datetime.now()
print(d1, type(d1))

# 获取指定时间
d2 = datetime.datetime(1999, 10, 1, 10, 28, 25, 123456)
print(d2)

# 将时间转换为字符串
d3 = d1.strftime("%Y-%m-%d %X")
print(d3)
print(type(d3))

# 将格式化字符串转化为datetime对象
# 注意转化的格式要与字符串一致
d4 = datetime.datetime.strptime(d3, "%Y-%m-%d %X")
print(d4, type(d4))

# datetime.datetime 类型可以直接加减运算,运算结果为datetime.timedalta 类型
d5 = datetime.datetime(2001, 8, 2, 8, 00, 00, 000000)
d6 = datetime.datetime.now() - d5
print(d6, type(d6))
print(datetime.datetime.now().year)
# datetime.timedalta类型提取日,秒,秒相差天数除外的秒数
print(d6.days, d6.seconds)

# ----------------------------------------------------------
# 以下是日历模块中函数的使用
# 返回指定某年某月的日历
print("---------------------------------------")
print(calendar.month(2021, 3))
# 返回指定年的日历
print(calendar.calendar(2021))
# 判断是否为闰年,是返回True, 否则返回False
print(calendar.isleap(2021))
# 返回某个月以每个周为一个列表的二维列表
print(calendar.monthcalendar(2021, 3))

你可能感兴趣的:(阿杰学python,python)