1. 程式人生 > >python——time模組實現指定時間觸發器

python——time模組實現指定時間觸發器

其實很簡單,指定某個時間讓指令碼處理一個事件,比如說一個get請求~

任何語言都會有關於時間的各種方法,python也不例外。

help(time)之後可以知道time有2種時間表示形式:
1、時間戳表示法,即以整型或浮點型表示的是一個以秒為單位的時間間隔。這個時間的基礎值是從1970年的1月1號零點開始算起。
2、元組格式表示法,即一種python的資料結構表示。這個元組有9個整型內容。分別表示不同的時間含義。

    year (four digits, e.g. 1998)
    month (1-12)
    day (1-31)
    hours (0-23)
    minutes (0-59)
    seconds (0-59)
    weekday (0-6, Monday is 0)
    Julian day (day in the year, 1-366)
    DST (Daylight Savings Time) flag (-1, 0 or 1) ##夏令時格式,0:表示正常格式,1:表示為夏令時格式,-1:表示根據當前的日期時間格式來判定

time() 或者datetime.now() -- 返回當前時間戳,浮點數形式。不接受引數
clock() -- 返回當前程式的cpu執行時間。unix系統始終返回全部執行時間;而windows從第二次開始都是以第一次呼叫此函式時的時間戳作為基準,而不是程式開始時間為基準。不接受引數。

sleep() -- 延遲一個時間段,接受整型、浮點型。

gmtime() -- 將時間戳轉換為UTC時間元組格式。接受一個浮點型時間戳引數,其預設值為當前時間戳。

localtime() -- 將時間戳轉換為本地時間元組格式。接受一個浮點型時間戳引數,其預設值為當前時間戳。

asctime() -- 將時間元組格式轉換為字串形式。接受一個時間元組,其預設值為localtime()返回值

ctime() -- 將時間戳轉換為字串。接受一個時間戳,其預設值為當前時間戳。等價於asctime(localtime(seconds))

mktime() -- 將本地時間元組轉換為時間戳。接受一個時間元組,必選。

strftime() -- 將時間元組以指定的格式轉換為字串形式。接受字串格式化串、時間元組。時間元組為可選,預設為localtime()

strptime() -- 將指定格式的時間字串解析為時間元組,strftime()的逆向過程。接受字串,時間格式2個引數,都是必選。

並且其型別還可以做減法操作   然後用total_seconds()可以將某個時間差值轉換為s,具體看後續程式碼部分

示例程式碼:

import httplib
import time
def doFirst():
    from datetime import datetime, timedelta
    curTime = datetime.now()
    #print curTime
    desTime = curTime.replace(hour=3, minute=0, second=0, microsecond=0)
    #print desTime
    delta = desTime-curTime
    #print delta
    skipSeconds = int(delta.total_seconds())
    #print skipSeconds
    if skipSeconds==0:
        return True
    else:
        if skipSeconds<0:
            skipSeconds+=24*60*60
        print "Must sleep %d seconds" % skipSeconds
        return False
#也可以採取獲取當前時間差值然後自己計數,不過考慮誤差問題,就不採取了   
def getTime():
    from datetime import datetime, timedelta
    curTime = datetime.now()
    #print curTime
    desTime = curTime.replace(hour=3, minute=0, second=0, microsecond=0)
    #print desTime
    delta = desTime-curTime
    #print delta
    skipSeconds = int(delta.total_seconds())
    if skipSeconds<0:
        skipSeconds+=24*60*60
    print skipSeconds
    return skipSeconds



def gethttp():
    url = "URL"
    conn = httplib.HTTPConnection("IP")
    conn.request(method="GET",url=url)
    response = conn.getresponse()
    res= response.read()
    print res 

#getTime()

while True: 
    if doFirst():
        gethttp()
        time.sleep(24*59*60)
    time.sleep(1)
s.close()






注:時間字串支援的格式符號:

格式含義備註
%a本地(locale)簡化星期名稱 
%A本地完整星期名稱 
%b本地簡化月份名稱 
%B本地完整月份名稱 
%c本地相應的日期和時間表示 
%d一個月中的第幾天(01 - 31) 
%H一天中的第幾個小時(24小時制,00 - 23) 
%I第幾個小時(12小時制,01 - 12) 
%j一年中的第幾天(001 - 366) 
%m月份(01 - 12) 
%M分鐘數(00 - 59) 
%p本地am或者pm的相應符
%S秒(01 - 61)
%U一年中的星期數。(00 - 53星期天是一個星期的開始。)第一個星期天之前的所有天數都放在第0周。
%w一個星期中的第幾天(0 - 6,0是星期天)
%W和%U基本相同,不同的是%W以星期一為一個星期的開始。 
%x本地相應日期 
%X本地相應時間 
%y去掉世紀的年份(00 - 99) 
%Y完整的年份 
%Z時區的名字(如果不存在為空字元) 
%%‘%’字元

相關推薦

python——time模組實現指定時間觸發器

其實很簡單,指定某個時間讓指令碼處理一個事件,比如說一個get請求~ 任何語言都會有關於時間的各種方法,python也不例外。 help(time)之後可以知道time有2種時間表示形式: 1、時間戳表示法,即以整型或浮點型表示的是一個以秒為單位的時間間隔。這個時間的基礎值

Python呼叫time模組設定當前時間-指定時間

import datetimeimport time#新建元旦時間#將程式打包def A(): # 設定時間 newyear =datetime.datetime(2033,10,1) #呼叫當前時間 nowtime=datetime.datetime.now() #計算時間差

python time模組介紹(日期格式化 時間戳)

import time # 1、time.time() 用於獲取當前時間的時間戳, ticks = time.time() print(ticks) # 1545617668.8195682 浮點數 #2、time.localtime() 從返回浮點數的時間戳向時間元組轉換(本地時區),只要

Python time模組時間戳,時間元祖,字串相互轉換與時間加減

獲取時間戳import time timestamp = time.time() print(timestamp) 1531366876.4177334時間戳是指格林威治時間1970年01月01日00

Python time 模組詳解(時間獲取和轉換)

time 模組 -- 時間獲取和轉換time 模組提供各種時間相關的功能在 Python 中,與時間處理有關的模組包括:time,datetime 以及 calendar必要說明:   雖然這個模組總是可用,但並非所有的功能都適用於各個平臺。 該模組中定義的大部分函式是呼

python~time模組詳解

time模組  在開始之前,首先要說明這幾點:     在Python中,通常有這幾種方式來表示時間:1)時間戳 2)格式化的時間字串 3)元組(struct_time)共九個元素。由於Python的time模組實現主要呼叫C庫,所以各個

python time模組總結

    常用函式: import time --------------------------------------------------time.time()                    &

自定義決策樹儲存——python pickle模組實現

定義兩個函式,storeTree用於把決策樹以二進位制形式儲存到檔案中,grabTree從檔案中讀出決策樹到記憶體 檔案字尾名為.pkl #!/usr/bin/env python # -*- coding: utf-8 -*- import pickle def storeTre

PHP實現指定時間的n月之前的這一天的兩種演算法

/** *根據$endtime,返回指定$monthes月之前的日 */ function severalMonthAgo($endtime,$monthes){ if (!$endtime) { return false; } if (!is_int($monthes) || $monthes

jquery實現指定時間無操作退出返回首頁

var monitor_plus = { click_time : new Date(), leave : 60, goUrl : "", container : "", init

python time 模組

計算機的系統時鐘設定為特定的日期、時間和時區。內建的 time 模組讓 Python程式能讀取系統時鐘的當前時間。在 time 模組中, time.time()和 time.sleep()函式是最有用的模組。   time.time()函式 Unix 紀元是程式設計中經常參

Python time模組只clock在Python3.3廢棄,在Python3.8中將被移除

Python time模組只clock在Python3.3廢棄,在Python3.8中將被移除 在Python3.7中使用 time.clock()報警告 DeprecationWarning: time.clock has been deprecated in Python 3.3

挖一挖MongoDB的備份與還原(實現指定時間點還原和增量備份還原)

一  研究背景需求 目前作者所在公司的MongoDB資料庫是每天凌晨做一次全庫完整備份,但資料庫出現故障時,只能保證恢復到全備時間點,比如,00:30 做的完整備份,而出現故障是下午18:00,那麼現有的備份機制只可以恢復到00:30,即丟失00:30 – 18:00 的操

python openpyxl模組實現excel的讀取,新表建立及原資料表追加新資料

當實際工作需要把excel表的資料讀取出來,或者把一些統計資料寫入excel表中時,一個設計豐富,文件便於尋找的模組就會顯得特別的有吸引力,本文對openpyxl模組的一些常見用法做一些記錄,方便工作中查詢(好記性不如爛筆頭) author:he

python——time模組用法

time模組下有兩種時間表示方法: 第一種是:時間戳的方式。是基於1970年1月1日0時0分0秒的偏移。浮點數。 第二種是:struct_time()型別的表示方法。gmtime()和localtim

python time模組學習

#!/usr/bin/python #coding:utf8 # 在應用程式的開發過程中,難免要跟日期、時間處理打交道。 # 如:記錄一個複雜演算法的執行時間;網路通訊中資料包的延遲等等。 # Python中提供了time, datetime calendar等模組來處

Python + unittest模組實現多個介面測試

本文知識點 利用unittest模組組織測試多個用例 該方法適用於介面迴歸測試 程式碼如下: import requests import urllib import unittest import sys, io # 解決console顯示亂碼的編碼問題

python time模組和datetime模組詳解

一、time模組  time模組中時間表現的格式主要有三種:   a、timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量   b、struct_time時間元組,共有九個元素組。   c、format time 格式化時間,已格

python——asyncio模組實現協程、非同步程式設計(三)

【八】協程停止 future物件有幾個狀態: Pending Running Done Cancelled 建立future的時候,task為pending,事件迴圈呼叫執行的時候當然就是running,呼叫完畢自然就是done,如果需要停止事件迴圈,就需要先把task取消

python time模組詳解

最常用的time.time()返回的是一個浮點數,單位為秒。但strftime處理的型別是time.struct_time,實際上是一個 tuple。strptime和localtime都會返回這個型別。 >>> import time >>> t = time.t