1. 文章
  2. 文章详情

python 时间模块

time模块

时间字符串

0    tm_year    2008

1    tm_mon    1 到 12

2    tm_mday    1 到 31

3    tm_hour    0 到 23

4    tm_min    0 到 59

5    tm_sec    0 到 61 (60或61 是闰秒)

6    tm_wday    0到6 (0是周一)

7    tm_yday    1 到 366(儒略历)

8    tm_isdst      -1, 0, 1, -1是决定是否为夏令时的旗帜

%Y: 完整年份

%y: 简化的年份

%A: 完整的星期名称

%a: 简化的星期名称

%B:完整的月份名称

%c:本地时间用日期和时间表示

%d:一个月中的第几天

%H:小时数

%j:一年中的第几天

%M:分钟

%m:月份

%x: 本地相应的日期表示  


import time

# 标准时间 UTC
c = time.time() # 当前时间戳 1970 1 1到现在的秒数

print(time.gmtime(c))
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=14, tm_min=39, tm_sec=24, tm_wday=3, tm_yday=80, tm_isdst=0)

print(time.gmtime(c)[3]) # 14

b = time.localtime(time.time()) # 返回一个本地时间的元组
m = time.mktime(b) # 将本地时间转为时间戳

# 格式化时间
# 时间元组格式化
print(time.asctime(time.localtime(time.time())))
# Thu Mar 21 22:39:24 2019

# 时间戳格式化
print(time.ctime(time.time())) # Thu Mar 21 22:39:24 2019

# 将时间元组转为指定格式的字符串
q = time.strftime('%Y-%m-%d', time.localtime(time.time())) # 2019-03-21

# 将时间字符串转为时间元组
w = time.strptime(q, '%Y-%m-%d')
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=80, tm_isdst=-1)
print(q,w)

datetime模块

# datetimetime高级 datetime可以认为是time封装
# 获取当前时间
import datetime

d1 = datetime.datetime.now()

print(d1) # 2019-03-21 22:47:12.734802
print(type(d1)) # <class 'datetime.datetime'>

# 获取指定时间
d2 = datetime.datetime(2018, 12, 21, 12, 12, 12, 233)
print(d2) # 2018-12-21 12:12:12.000233

# 将时间转为字符串
d3 = d1.strftime('%Y-%m-%d')
print(d3) # 2019-03-21

# 将字符串转为时间类型
d4 = datetime.datetime.strptime(d3,'%Y-%m-%d')
print(d4) # 2019-03-21 00:00:00

# 时间的运算
d5 = datetime.datetime.now()
d6 = datetime.datetime(2018, 4, 20, 14, 10, 12, 123)
d7 = d5 - d6
print(d7) # 335 days, 8:37:00.741678

# 获取间隔天数
print(d7.days) # 335
# 获取除天数以外的秒数
print(d7.seconds) # 31020

calendar模块

import calendar

cal = calendar.month(2019,1)
print(cal)
# January 2019
# Mo Tu We Th Fr Sa Su
# 1 2 3 4 5 6
# 7 8 9 10 11 12 13
# 14 15 16 17 18 19 20
# 21 22 23 24 25 26 27
# 28 29 30 31

# 指定年份日历
# print(calendar.calendar(2019))

# 闰年返回True
print(calendar.isleap(2001)) # False

# 返回某个月的开始的第一天的星期的下标,和所有的天数
print(calendar.monthrange(2019,3)) # (4, 31)

# 返回某个月以每周为元素列表
print(calendar.monthcalendar(2019,3))
# [[0, 0, 0, 0, 1, 2, 3], [4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29, 30, 31]]

发表评论

登录后才能评论

评论列表(0条)