本人最近新学python ,用到关于时间和日期的函数,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法.
import time
import datetime
'''时间转化为时间戳: 2016-11-16 10:53:12 to 1479264792 '''
def TimeToTimeSpan(timeInfo):
timeArray = time.strptime(timeInfo, "%Y-%m-%d %H:%M:%S")
timeSpan = int(time.mktime(timeArray))
return timeSpan
'''把时间戳转化为时间: 1479264792 to 2016-11-16 10:53:12'''
def TimeStampToTime(timestamp):
timeStruct = time.localtime(timestamp)
return time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)
'''把时间戳转化为时间: 1479264792 to 2016-11-16 10:53:12'''
def TimeStampToTime1(timestamp):
temp = datetime.datetime.fromtimestamp(timestamp)
return temp.strftime("%Y-%m-%d %H:%M:%S")
'''获取当前时间 :2016-06-16 13:37:10'''
def GetCurrentTime():
currtTime = str(datetime.datetime.now())
return currtTime[0:19]
'''获取当前时间 :2016-06-16 13:37:10'''
def GetCurrentTime1():
return time.strftime('%Y-%m-%d %H:%M:%S')
'''获取100天前的时间'''
def Get100Time():
currtTime = str(datetime.datetime.now()-datetime.timedelta(days = 100))
return currtTime[0:19]
'''获取当前日期:2016-06-16'''
def GetCurrentDate():
currtTime = str(datetime.datetime.now())
return currtTime[0:4]
'''获取当前日期:2016-06-16'''
def GetCurrentDate1():
return time.strftime('%Y-%m-%d')
'''获取年'''
def GetYear():
return datetime.datetime.now().year
'''获取月'''
def GetMonth():
return datetime.datetime.now().month
'''获取 号'''
def GetDy():
return datetime.datetime.now().day
'''获取当天是星期几'''
def GetWeekDay():
week_day_dict = {
0 : '星期一',
1 : '星期二',
2 : '星期三',
3 : '星期四',
4 : '星期五',
5 : '星期六',
6 : '星期天',}
day = datetime.datetime.now().weekday()
return week_day_dict[day]
获取当前时间戳:
int(time.time())
把字符串格式的日期转为datetime格式
strDate = '2017-06-05'
date_time = datetime.datetime.strptime(strDate ,'%Y-%m-%d')
print date_time
把当前本地时间转为UTC时间
utcTime = datetime.datetime.now()-datetime.timedelta(hours=8)
往mongodb数据库插入日期
MongoDB存储时间类型数据时,都是先转换为UTC时间,然后存储到数据库中。
由于UTC时间与本地时间相差8个小时 所以把当地时间转为UTC时间
utcTime = datetime.datetime.now()-datetime.timedelta(hours=8)
self.db.test.insert({'date':utcTime })
把mongodb中日期转为python 日期
结果:
下面是time.strftime的参数:
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
python中时间日期格式化符号:
%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 当前时区的名称
%% %号本身
获取昨天日期
defget_yesterday(self):
date= datetime.datetime.now() + datetime.timedelta(days=-1)
date= date.strftime('%Y-%m-%d')return date