2019独角兽企业重金招聘Python工程师标准>>>
time 常用模块
time.time
记录当前时间戳
示例:记录运行代码的时间
start_time = time.time
[期间运行了很多很多代码]
end_time = time.time
print("代码运行了",start_time - end_time)
time.sleep()
代码延迟运行
示例:代码延迟5秒再运行
time.sleep(5)
time.localtime()
默认值相当于 time.localtime(time.time)
结构化当地时间
print(time.localtime())
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=18, tm_sec=31, tm_wday=1, tm_yday=86, tm_isdst=0)
示例:分别取当前的年月日
print(time.localtime().tm_year)
print(time.localtime().tm_mon)
print(time.localtime().tm_mday)
时间戳转变为结构化时间
print(time.localtime(1522153892.0))
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=31, tm_sec=32, tm_wday=1, tm_yday=86, tm_isdst=0)
time.gmtime()
UTC世界标准时间
print(time.gmtime())
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=12, tm_min=23, tm_sec=25, tm_wday=1, tm_yday=86, tm_isdst=0)
time.mktime()
结构化时间转换为时间戳
print(time.mktime(time.localtime()))
1522153892.0
time.ctime()
以秒为单位的时间转换为表示本地时间的字符串
print(time.ctime())
Tue Mar 27 20:53:06 2018
time.asctime()
结构化时间固定的转换为系统默认格式
print(time.asctime())
Tue Mar 27 20:53:06 2018
time.strptime()
字符串时间转换为结构化时间
print(time.strptime("2018-03-27-20:43:28","%Y-%m-%d-%X"))
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=27, tm_hour=20, tm_min=43, tm_sec=28, tm_wday=1, tm_yday=86, tm_isdst=-1)
time.strftime()
结构化时间转换为字符串时间
print(time.strftime("%Y-%m-%d %X",time.localtime()))
2018-03-27 20:42:58
datetime模块
打印当前时间
import datetime
print(datetime.datetime.now())
2018-03-27 21:10:11.775249
time常用模块示例
#coding=utf-8
import datetime
from datetime import timedelta
now = datetime.datetime.now()
#今天
today = now
#昨天
yesterday = now - timedelta(days=1)
#明天
tomorrow = now + timedelta(days=1)
#当前季度
now_quarter = now.month / 3 if now.month % 3 == 0 else now.month / 3 + 1
#本周第一天和最后一天
this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6-now.weekday())
#上周第一天和最后一天
last_week_start = now - timedelta(days=now.weekday()+7)
last_week_end = now - timedelta(days=now.weekday()+1)
#本月第一天和最后一天
this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1)
#上月第一天和最后一天
last_month_end = this_month_start - timedelta(days=1)
last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)
#本季第一天和最后一天
month = (now.month - 1) - (now.month - 1) % 3 + 1
this_quarter_start = datetime.datetime(now.year, month, 1)
this_quarter_end = datetime.datetime(now.year, month + 3, 1) - timedelta(days=1)
#上季第一天和最后一天
last_quarter_end = this_quarter_start - timedelta(days=1)
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)
#本年第一天和最后一天
this_year_start = datetime.datetime(now.year, 1, 1)
this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)
#去年第一天和最后一天
last_year_end = this_year_start - timedelta(days=1)
last_year_start = datetime.datetime(last_year_end.year, 1, 1)
获取本周:周一和周日的日期
import datetime
from datetime import timedelta
now = datetime.datetime.now()
log_week_start = now - timedelta(days=now.weekday())
log_week_end = now + timedelta(days=6-now.weekday())
short_week_start=(now - timedelta(days=now.weekday())).strftime("%Y-%m-%d")
short_week_end=(now + timedelta(days=6-now.weekday())).strftime("%Y-%m-%d")
print("本周一的长时间:",log_week_start)
print("本周日的长时间:",log_week_start)
print("本周一的短时间:",short_week_start)
print("本周日的短时间:",short_week_end)