Python中datetime常用時間處理方法

來源:互聯網
上載者:User

Python中datetime常用時間處理方法

         Python提供了多個內建模組用於操作日期時間,像calendar,time,datetime。今天我們主要來探討下datetime的使用方法,有需要的小夥伴可以參考下。

 

 

         常用時間轉換及處理函數:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

import datetime

# 擷取目前時間

d1 = datetime.datetime.now()

print d1

# 目前時間加上半小時

d2 = d1 + datetime.timedelta(hours=0.5)

print d2

# 格式化字串輸出

d3 = d2.strftime('%Y-%m-%d %H:%M:%S')

print d3

# 將字串轉化為時間類型

d4 = datetime.datetime.strptime(date,'%Y-%m-%d %H:%M:%S.%f')

print d4

擷取本周和本月第一天的日期:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# -*- coding:utf-8 -*-

import datetime

def first_day_of_month():

'''

擷取本月第一天

:return:

'''

# now_date = datetime.datetime.now()

# return (now_date + datetime.timedelta(days=-now_date.day + 1)).replace(hour=0, minute=0, second=0,

# microsecond=0)

return datetime.date.today() - datetime.timedelta(days=datetime.datetime.now().day - 1)

def first_day_of_week():

'''

擷取本周第一天

:return:

'''

return datetime.date.today() - datetime.timedelta(days=datetime.date.today().weekday())

if __name__ == "__main__":

this_week = first_day_of_week()

last_week = this_week - datetime.timedelta(days=7)

this_month = first_day_of_month()

last_month = this_month - datetime.timedelta(days=(this_month - datetime.timedelta(days=1)).day)

print this_week

print last_week

print this_month

print last_month

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

#! /usr/bin/python

# coding=utf-8

 

import datetime

 

"""

datetime的功能強大

能支援0001年到9999年

"""

 

"""

目前時間

返回的是一個datetime類型

now方法有個參數tz,設定時區類型。如果沒有和方法today的效果一樣

"""

now = datetime.datetime.now()

#UTC時間

datetime.datetime.utcnow()

attrs = [

("year","年"),('month',"月"),("day","日"),('hour',"小時"),( 'minute',"分"),( 'second',"秒"),( 'microsecond',"毫秒"),(

'min',"最小"),( 'max',"最大"),

]

for k,v in attrs:

"now.%s = %s #%s" % (k,getattr(now, k),v)

 

 

"""

返回一個time結構

"""

now.timetuple()

 

"""

返回一個date類型

 

"""

now.date()

 

"""

返回一個time類型

 

"""

now.time()

 

"""

當前星期幾。星期一是0,星期於是6

注意這裡是方法,不是屬性哦。

"""

now.weekday()

 

"""

當前星期幾。星期一是1,星期於是7

注意這裡是方法,不是屬性哦。

"""

now.isoweekday()

 

"""

修改目前時間。比如修改成當月1號

"""

now.replace(day=1)

 

past = datetime.datetime(2010,11,12,13,14,15,16)

 

"""

進行比較運算

返回的是timedelta類型

 

"""

now-past

"""

轉成字串

詳細規則見Time篇

 

"""

strdatetime = now.strftime("%Y-%m-%d %H:%M:%S")

"""

字串產生datetime對象

"""

datetime.datetime.strptime(strdatetime, "%Y-%m-%d %H:%M:%S")

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.