python標准庫(datetime)


1、datetime模塊
  對日期、時間、時間戳的處理
  1> datetime類
    類方法:沒有時間對象使用類的方法構造時間對象
      today()    返回本地時區當前時間的datetime對象
      now(tz=None)    返回當前時間的datetime對象,時間到微秒,如果tz為None,返回和 today() 一樣
      utcnow()    沒有時區的當前時間
      fromtimestamp(timestamp, tz=None)    從一個時間戳返回一個datetime對象

    datetime對象:有時間對象調用時間戳返回時間戳
      timestamp()    返回一個到微秒的時間戳
      時間戳:格林威治時間1970年1月1日0點到現在的秒數

import datetime
print(type(datetime.datetime))    #

執行結果:
<class 'type'>
import datetime
print(datetime.datetime.now())       #類的方法,返回一個當前時區時間的對象
print(datetime.datetime.today())     #中國:東八區,和沒有時區的時間差8個小時
print(datetime.datetime.utcnow())    #沒有時區的時間

執行結果:
2020-04-08 18:15:34.319195
2020-04-08 18:15:34.319196
2020-04-08 10:15:34.319195
import datetime
d1 = datetime.datetime.now()
print(d1)
print(d1.timestamp())    #返回一個到微妙的時間戳
print(datetime.datetime.fromtimestamp(1586341355))    #從一個時間戳返回datetime對象

執行結果:
2020-04-08 18:22:52.348085
1586341372.348085
2020-04-08 18:22:35

 

  2> datetime對象
    構造方法datetime.datetime(2016, 12, 6, 16, 29, 43, 79043)
    year、month、day、hour、minute、second、microsecond,取datetime對象的年月日時分秒及微秒
    weekday()    返回星期的天,周一0,周日6
    isoweekday()    返回星期的天,周一1,周日7
    date()    返回日期date對象
    time()    返回時間time對象
    replace()    修改並返回新的時間
    isocalendar()    返回一個三元組(年,周數,周的天)

import datetime
d = datetime.datetime(2020,1,1,12,12,12)
print(d)
print(d.year,d.month)
print(d.weekday())       #返回星期:0-6
print(d.isoweekday())    #返回星期:1-7
print(d.date())          #2020-01-01
print(d.time())          #12:12:12
print(d.replace(2017))   #返回全新的時間對象
print(d.isocalendar())   #返回一個三元組(年,周數,周的天)

執行結果:
2020-01-01 12:12:12
2020 1
2
3
2020-01-01
12:12:12
2017-01-01 12:12:12
(2020, 1, 3)
import datetime
d = datetime.datetime(2019,12,12,12,12,12)
print(d)
d1 = d.replace(d.year-10,5,5)
print(d1)
d2 = datetime.datetime(d1.year,d1.month,d1.day)
print(d2)

執行結果:
2019-12-12 12:12:12
2009-05-05 12:12:12
2009-05-05 00:00:00

 

 

2、日期格式化
  類方法strptime(date_string, format),返回datetime對象
  對象方法strftime(format),返回字符串
  字符串format函數格式化

import datetime
d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")    #字符串 ——> 時間對象
print(d)
d1 = datetime.datetime(2020,2,2,5,5,5)
d2 = d1.strftime("%Y-%m-%d %H:%M:%S")    #時間對象 ——> 字符串
print(d2)

執行結果:
2020-01-01 12:12:12
2020-02-02 05:05:05
2020-02-02 05:05:05
import datetime
d = datetime.datetime.strptime("2020,1,1,12,12,12","%Y,%m,%d,%H,%M,%S")
print("{0:%Y}/{0:%m}/{0:%d} {0:%H}:{0:%M}:{0:%S}".format(d))
print('{:%Y-%m-%d %H:%M:%S}'.format(d))

執行結果:
2020/01/01 12:12:12
2020-01-01 12:12:12

 

 

3、timedelta對象
  datetime2 = datetime1 + timedelta
  datetime2 = datetime1 - timedelta
  timedelta = datetime1 - datetime2
  構造方法:
    datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
    year = datetime.timedelta(days=365)
  total_seconds()返回時間差的總秒數

import datetime
d = datetime.datetime(2020,1,1,1,1,1)
d1 = d + datetime.timedelta(days=10)
print(d1)
print(datetime.timedelta(days=365).total_seconds())

執行結果:
2020-01-11 01:01:01
31536000.0

 

 

4、標准庫time
  time
    time.sleep(secs)將調用線程掛起指定的秒數

import time
time.sleep(5)    #掛起線程5秒,之后print('_____')
print('_____')

 


免責聲明!

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



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