本人最近新學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