Python3 time模塊

来源:http://www.cnblogs.com/fengbo1113/archive/2017/12/03/7957431.html
-Advertisement-
Play Games

import time# print(help(time)) # 顯示time模塊全文本# Functions: # 執行結果 # time() -- return current time in seconds since the Epoch as a float # 以浮點數返回以秒計算的從19 ...


import time
# print(help(time)) # 顯示time模塊全文本
# Functions: # 執行結果

# time() -- return current time in seconds since the Epoch as a float
# 以浮點數返回以秒計算的從1970年到現在為止的時間,time.time()常用於獲取當前時間
# time.time() # 這個函數無參數
# print(time.time()) # 1512195215.1153893

# clock() -- return CPU time since process start as a float
# 以浮點數返回CPU運行當前程式所需要的時間
# time.clock() # 這個函數無參數
# print(time.time()) # 1512195308.783902

# sleep() -- delay for a number of seconds given as a float
# 程式在此停頓多少秒,參數為浮點數
# time.sleep(seconds) # 有一個名為seconds(秒)的參數,是浮點型參數, 執行這個函數必須輸入seconds參數,否則無效
# time.sleep(1.1111111)

# gmtime() -- convert seconds since Epoch to UTC tuple
# 接收時間輟(1970紀元後經過的浮點秒數)並返回格林威治天文時間下的時間元組
# time.gmtime(seconds) # 有一個名為seconds(秒)的參數,是浮點型,可傳入可為空,為空時顯示當前世界標準時間
# print(time.gmtime()) # time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=6, tm_min=24, tm_sec=13, tm_wday=5, tm_yday=336, tm_isdst=0)
# print(time.gmtime(1.00000000000000001)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
# tm_year為年, tm_mon為月, tm_mday為日, tm_hour世界標準時間小時, tm_min分, tm_sec秒, tm_wday世界標準時間星期, tm_yday為一年的第多少天, tm_isdst為夏令時
# print(time.gmtime().tm_year) # 2017
# print(time.gmtime().tm_mon) # 12
# tm_year 2008
# tm_mon 1 到 12
# tm_mday 1 到 31
# tm_hour 0 到 23
# tm_min 0 到 59
# tm_sec 0 到 61 (60或61 是閏秒)
# tm_wday 0到6 (0是周一)
# tm_yday 一年中的第幾天,1 到 366
# tm_isdst 是否為夏令時,值有:1(夏令時)、0(不是夏令時)、-1(未知),預設 -1
# 重點!
# print(time.gmtime()) # time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=31, tm_sec=47, tm_wday=5, tm_yday=336, tm_isdst=0)
# a = tuple(time.gmtime())
# print(type(a)) # <class 'tuple'>
# print(a) # (2017, 12, 2, 15, 33, 58, 5, 336, 0)
# time.gmtime() 與 time.localtime() 取得的數據可以直接轉換為元組!

# localtime() -- convert seconds since Epoch to local time tuple
# 接收時間輟(1970紀元後經過的浮點秒數)並返回當地時間下的時間元組(tm_isdst可取0或1,取決於當地當時是不是夏令時)
# time.localtime(seconds) # 有一個名為seconds(秒)的參數,是浮點型,可傳入可為空,為空時顯示當前世界標準時間
# print(time.localtime()) # time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=14, tm_min=41, tm_sec=30, tm_wday=5, tm_yday=336, tm_isdst=0)
# print(time.localtime(1.00000001)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
# print(time.localtime().tm_wday) # 5 # localtime並沒有將tm_wday=5, tm_yday=336轉成本地日期,因為發文時是星期6,tm_wday與tm_year分別應為6,337
# print(time.gmtime().tm_wday) # 5
# localtime() 與gmtime() 唯一的不同只是時區顯示的不同

# asctime() -- convert time tuple to string
# 接受時間元組並返回一個可讀的形式為"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18時07分14秒)的24個字元的字元串。同時將時間轉化為了ASCII碼。
# time.asctime(tuple) # 有一個名為tuple的參數。該參數可以為空,為空時顯示當前本地時間。如果參數不為空,則元組必須要有9個參數,示例類型為:(2017, 12, 2, 23, 36, 0, 5, 336, 0),否則報錯!
# print(time.asctime()) # Sat Dec 2 15:06:47 2017 以此種方式顯示本地時間
# 以下為示例:
# a = tuple(time.localtime())
# print(a) # (2017, 12, 2, 23, 36, 0, 5, 336, 0)
# print(time.asctime(a)) # Sat Dec 2 23:34:43 2017
# print(time.asctime((2017, 12, 2, 23, 36, 0, 5, 336, 0))) # Sat Dec 2 23:36:00 2017
# print(time.asctime(time.gmtime())) # Sat Dec 2 23:39:18 2017
# print(time.asctime(time.localtime())) # Sat Dec 2 23:39:18 2017
# time.asctime()最好結合time.gmtime() 與 time.localtime() 使用。最好別自己打個含有9個數據的元組傳到time.asctime()中,這樣容易出錯!

# ctime() -- convert time in seconds to string
# 將時間綴記錄的時間轉化Sat Dec 2 15:22:24 2017這種格式的字元串
# 作用相當於asctime(localtime(secs)),未給參數相當於asctime()
# time.ctime(seconds) # 有一個名為seconds(秒)的參數,是浮點型,可傳入參數也可為空,為空時相當於asctime()
# print(type(time.ctime())) # <class 'str'>
# print(time.ctime()) # Sat Dec 2 15:22:24 2017
# print(time.ctime(1.0001)) # Thu Jan 1 08:00:01 1970 這個時間是按本地時間算出的
# time模塊中只有time.time()能獲取一個seconds格式的時間綴

# mktime() -- convert local time tuple to seconds since Epoch
# 接受時間元組並返回時間輟(1970紀元後經過的浮點秒數)
# time.mktime(tuple)有一個名為tuple的參數。該參數不能為空。
# 可接收time.gmtime() 和 time.localtime() 的參數
# print(time.mktime(time.gmtime())) # 1512201669.0
# print(time.mktime(time.localtime())) # 1512201700.0
# print(time.mktime((2017, 12, 2, 23, 36, 0, 5, 336, 0))) # 1512228960.0

# strftime() -- convert time tuple to string according to format specification 格式化輸出時間函數
# 接收以時間元組,並返回以可讀字元串表示的當地時間,格式由fmt決定。
# time.strftime(format, tuple)函數有兩個參數,format參數自己定義自己的格式,tuple格式可以通過time模塊中的time.gmtime() 與time.localetime() 或者直接傳入正確的9元素元組來進行參數錄入。
# 參數中format參數必須存在,tuple為空則取當前時間。
# help(time.strftime)
# %Y Year with century as a decimal number.
# %m Month as a decimal number [01,12].
# %d Day of the month as a decimal number [01,31].
# %H Hour (24-hour clock) as a decimal number [00,23].
# %M Minute as a decimal number [00,59].
# %S Second as a decimal number [00,61].
# %z Time zone offset from UTC.
# %a Locale's abbreviated weekday name.
# %A Locale's full weekday name.
# %b Locale's abbreviated month name.
# %B Locale's full month name.
# %c Locale's appropriate date and time representation.
# %I Hour (12-hour clock) as a decimal number [01,12].
# %p Locale's equivalent of either AM or PM.
# 相關漢化:
# %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 當前時區的名稱
# %% %號本身
# print(time.strftime("%Y-%m-%d %H:%M:%S")) # 2017-12-03 00:18:10
# print(time.strftime("%y-%Y-%m-%d-%H-%I-%M-%S-%a-%A-%b-%B-%c-%j-%p-%U-%w-%W-%x-%W-%x-%X-%Z-%%")) # 17-2017-12-03-00-12-22-01-Sun-Sunday-Dec-December-Sun Dec 3 00:22:01 2017-337-AM-49-0-48-12/03/17-48-12/03/17-00:22:01-?D1¨²¡À¨º¡Á?¨º¡À??-%
# format參數必須為%y;%Y;%m;%d;%H;%I;%M;%S;%a;%A;%b;%B;%c;%j;%p;%U;%w;%W;%x;%W;%x;%X;%Z;%%這類格式,怎麼格式化輸出自己定義。


# strptime() -- parse string to time tuple according to format specification 格式化輸出時間函數
# 根據fmt的格式把一個時間字元串解析為時間元組。
# time.strptime(string, format)函數有兩個參數
# print(time.strptime("Thu Jan 1 08:00:01 1970",)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=-1)
# print(time.strptime("30 Nov 00", "%d %b %y")) # time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
# print(time.strptime("30 Nov 00", "%d %b %y")) # time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
# print(time.strptime("00 Nov 30", "%y %b %d")) # time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
# print(time.strptime("Nov 00 30", "%b %y %d")) # time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
# string的順序可以調換,相應的format的參數順序也需要進行相對應的調換,都能進行輸出。
# print(time.strptime(time.strftime(time.asctime()))) # time.struct_time(tm_year=2017, tm_mon=12, tm_mday=3, tm_hour=0, tm_min=58, tm_sec=57, tm_wday=6, tm_yday=337, tm_isdst=-1) 這種情況下可以只傳string參數不傳format參數


# tzset() -- change the local timezone
# Python time tzset() 根據環境變數TZ重新初始化時間相關設置。
# 這個好像很重要,但我沒太看了,自己掌握吧,略!


# 參考:http://www.runoob.com/python3/python3-date-time.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近需要向客戶發送一些宣傳資料,Excel列表裡面有一兩百個記錄,本來想手寫就算了,估摸著也花不了多少時間,不過寫完一個信封我就後悔了,整天敲著鍵盤,書寫的字太難看了,而且感覺手還是有點累。才第一個啊,想著後面還有那麼多,感覺整個人頭都大了,只好放棄,太沒技術含量了。然後尋找有無一些套打的的軟體,不... ...
  • jquery.qqFace.js使用方法 引用 <script src="~/Content/qqFace/js/jquery.qqFace.js?v=3"></script> <script src="~/Content/qqFace/js/jquery-browser.js"></script> ...
  • 上篇文章介紹了ASP.NET中身份驗證的機制與流程,本文將使用代碼的來介紹如何實現第三方賬戶驗證與雙因數驗證。 本章主要內容有: ● 實現基於微軟賬戶的第三方身份驗證 ● 實現雙因數身份驗證 ● 驗證碼機制 實現基於微軟賬戶的第三方身份驗證 在微軟提供的ASP.NET MVC模板代碼中,預設添加了微 ...
  • TreeView控制項顯示的內容比較單一,如果需要呈現更多的詳細信息TreeListView是一個不錯的選擇。因此你可以將一個XMl文檔完整的呈現到該控制項中去! ...
  • 總結:資料庫中某張表有問題,導致查詢速度奇慢! 問題排查過程: 1. 視圖問題 ? 2、sql語句問題? 3、沒有建立必須的索引? 後來: 整個sql語句分段調試,發現加入某張表後就變的非常卡! 將該表信息導入新表,刪除該表,使用新表就不卡了! 數據表竟然有問題!!! 頭一次遇到這種稀奇問題,我這個 ...
  • #log4j.rootLogger=Debug,consolelog4j.rootLogger=info,console#控制台輸出 log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layou ...
  • 設想從一大群選手中挑選人員組建一支隊伍,每名選手都擁有特定的技能組合。目標是組建出一隻最小的隊伍,使得隊伍整體擁有一組特定的技能組合。也就是說,對於隊伍整體所需要的技能,隊伍中至少有一名選手必須擁有這項技能。假定S為隊伍所必須擁有的技能集合,P為所有待選選手的技能集合。從P中挑選出一些技能組合以構成... ...
  • 看見頭文件中的條件編譯就犯怵,不知什麼意思,但是,師傅說:”就得那麼寫“,我照做,但是知其然而不知其所以然。 好吧,我承認自己只是一個代碼的搬運工,哦,不,或許還談不上。 下麵是學習後自己的理解~~~ 代碼: 也許我渣把,總之,之前我確實不會。 解釋: 第1、2行和第14行:防止重覆定義。 如果兩個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...