python 時間及日期函數


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM