datetimeモジュールの概要

2549 ワード

Pythonでは、時間処理に関連するモジュールには、time、datetime、calendarが含まれています.ここでは、datetimeモジュールのみを使用します.
1、datetimeを認識する
    datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])

    The year, month and day arguments are required. tzinfo may be None, or an
    instance of a tzinfo subclass. The remaining arguments may be ints.

2、datetimeを使用するには、まずdatetimeモジュールをインポートしなければならない
import datetime
print(datetime.now())   # AttributeError: module 'datetime' has no attribute 'now'

このようにすると、datetimeモジュールの下にnow()という方法がないため、現在の時間を表示するとエラーが発生します.この間違いは私が犯したことがあるので、文章の冒頭で読者に注意して、このモジュール内のクラス内の方法はどのように呼び出すべきですか.正しい方法は次のとおりです.
#   import 
import datetime
print(datetime.datetime.now())   # 2019-08-08 09:51:33.248204
#  from  datetime      
from datetime import datetime
#       
print(datetime.now())
#       
print(datetime.utcnow())

3、2日間の日付差を求める(strptime変換)
まず2つの日付が必要です.
import datetime

def get_day():
    x = input("        (YYYY-MM-DD)
") x = datetime.datetime.strptime(x , "%Y-%m-%d") print(" {} ".format((x - datetime.datetime.now()).days + 1)) if __name__ == '__main__': get_day()

4、strftime用法:元のdatetime.Datetimeというデータ型をstrデータ型に変換し、python操作を便利にし、ユーザーが理解する.
import datetime

date = datetime.datetime.now()
print(date,type(date))  # 2019-08-08 12:08:34.704204 
datestr = date.strftime("%Y-%m-%d")
print(datestr,type(datestr))    # 2019-08-08 
datestr2 = str(date)
print(datestr2,type(datestr2))  # 2019-08-08 12:08:34.704204 

strftimeは時間タイプをstrに変換し、strptimeはstrを時間タイプに変換します.
5、取得年月日+時分秒を分ける
import datetime


#          
y = datetime.datetime.now().year
m = datetime.datetime.now().month
d = datetime.datetime.now().day
print("{} {} {} ".format(y ,m ,d))      #2019 8 8 


#          
h = datetime.datetime.now().hour
m = datetime.datetime.now().minute
s = datetime.datetime.now().second
# print(type(h))    int
print('{}:{}:{}'.format(h,m,s))   # 12:57:49

最後にcalenderモジュールを持ってきてください
import calendar

c = calendar.month(2019, 8)
print("   2019 8    :")
print(c)

"""
   2019 8    :
    August 2019
Mo Tu We Th Fr Sa Su
          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
"""