9.python时间处理工具
# 东八区时间处理
import time
from datetime import datetime
from datetime import timedelta
time_stamp = 1537846361
loc_time = time.localtime(time_stamp)
time1 = time.strftime("%Y-%m-%d %H:%M:%S",loc_time)
utc_time = datetime.utcfromtimestamp(time_stamp)
time2 = utc_time + timedelta(hours=8)
print(time1)
print(time2.strftime("%Y-%m-%d %H:%M:%S"))
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import datetime
# 输入日期判断是哪一年的第几周,周几
def getYearWeek(strdate):
date = datetime.datetime.strptime(strdate, '%Y-%m-%d')
YearWeek = date.isocalendar()
return YearWeek
# 当前时间是哪一年的第几周,周几
def getNowYearWeek():
timenow = datetime.datetime.now()
NowYearWeek = timenow.isocalendar()
return NowYearWeek
# 当前时间所在周的周一时间
def getDayInweekMonday():
week_num = datetime.datetime.now().weekday()
Monday = datetime.datetime.now() + datetime.timedelta(days=-week_num)
Monday = str(Monday)[0:10]
return Monday
# 获取上一周的周一和周日的时间
def getDayLastWeekMondayAndSunday():
week_num = datetime.datetime.now().weekday()
Monday = datetime.datetime.now() - datetime.timedelta(days=7)+datetime.timedelta(days=-week_num)
Monday = Monday.strftime('%Y-%m-%d 00:00:00')
Monday = str(Monday)[0:10]
Sunday = datetime.datetime.now() - datetime.timedelta(days=1)+datetime.timedelta(days=-week_num)
Sunday = Sunday.strftime('%Y-%m-%d 23:59:59')
Sunday = str(Sunday)[0:10]
# print str(Sunday)[0:10]
return Monday,Sunday
# weekflag格式为"2016#53"(即2016年第53周的开始时间)
def getWeekFirstday(weekflag):
year_str = weekflag[0:4] # 取到年份
week_str = weekflag[5:] # 取到周
if int(week_str) >= 53:
Monday = "Error,Week Num greater than 53!"
else:
yearstart_str = year_str + '0101' # 当年第一天
yearstart = datetime.datetime.strptime(yearstart_str, '%Y%m%d') # 格式化为日期格式
yearstartcalendarmsg = yearstart.isocalendar() # 当年第一天的周信息
yearstartweekday = yearstartcalendarmsg[2]
yearstartyear = yearstartcalendarmsg[0]
if yearstartyear < int(year_str):
daydelat = (8 - int(yearstartweekday)) + (int(week_str) - 1) * 7
else:
daydelat = (8 - int(yearstartweekday)) + (int(week_str) - 2) * 7
Monday = (yearstart + datetime.timedelta(days=daydelat)).date()
return Monday
if __name__ == '__main__':
strdate = '2017-01-01'
print getYearWeek(strdate)
print getNowYearWeek()
print getDayInweekMonday()
print getDayLastWeekMondayAndSunday()
# 输出2014年第35周的开始时间
print getWeekFirstday('2014#35')
http://www.cnblogs.com/makexu/

浙公网安备 33010602011771号