本人最近新学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 当前时区的名称 %% %号本身获取昨天日期
def get_yesterday(self): date = datetime.datetime.now() + datetime.timedelta(days=-1) date = date.strftime('%Y-%m-%d') return date