1. 現在時刻を取得する 2 つの方法:
import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now = datetime.datetime.now() print now
2. 先月の最終日の日付を取得します (今月の初日から 1 日を引いたもの)
last = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1) print last
3. 時差を取得します。差の単位は秒で、一般的に使用されます (プログラムの実行時に時間を計算するために使用されます)
starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds
4. 現在時刻から 10 時間遡った時間を計算します
d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(hours=10) d3.ctime()
よく使用される 2 つのクラスは、datetime と timedelta です。それらは互いに加算または減算できます。各クラスには、特定の値を表示するためのメソッドと属性があります。たとえば、datetime は日 (day)、時間 (hour)、曜日 (weekday()) などを表示します。 、秒 数字(秒)など。
5. Python での時刻と日付の書式設定記号:
%y 2 桁の年表現 (00-99)
%Y 4 桁の年表現 (000-9999)
%m month (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 現在のタイムゾーンの名前
%% % 数値そのもの
サンプルコードを添付します:
Actipro CodeHighlighter (フリーウェア) によって生成されたコードの強調表示http:/ /www.CodeHighlighter.com/-->#-*-coding:utf-8-*-
日時、カレンダーをインポート
def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday
def getToday(): return datetime.date.today()
#指定されたパラメーターの過去数日間の日付を取得し、リストを返します
def getDaysByNum(num): today=datetime.date.today() oneday=datetime.timedelta(days=1) li=[] for i in range(0,num): #今天减一天,一天一天减 today=today-oneday #把日期转换成字符串 #result=datetostr(today) li.append(datetostr(today)) return li #将字符串转换成datetime类型 def strtodatetime(datestr,format): return datetime.datetime.strptime(datestr,format) #时间转换成字符串,格式为2008-08-02 def datetostr(date): return str(date)[0:10] #两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天 def datediff(beginDate,endDate): format="%Y-%m-%d"; bd=strtodatetime(beginDate,format) ed=strtodatetime(endDate,format) oneday=datetime.timedelta(days=1) count=0 while bd!=ed: ed=ed-oneday count+=1 return count #获取两个时间段的所有时间,返回list def getDays(beginDate,endDate): format="%Y-%m-%d"; bd=strtodatetime(beginDate,format) ed=strtodatetime(endDate,format) oneday=datetime.timedelta(days=1) num=datediff(beginDate,endDate)+1 li=[] for i in range(0,num): li.append(datetostr(ed)) ed=ed-oneday return li #获取当前年份 是一个字符串 def getYear(): return str(datetime.date.today())[0:4] #获取当前月份 是一个字符串 def getMonth(): return str(datetime.date.today())[5:7] #获取当前天 是一个字符串 def getDay(): return str(datetime.date.today())[8:10] def getNow(): return datetime.datetime.now() print getToday() print getYesterday() print getDaysByNum(3) print getDays('2008-10-01','2008-10-05') print '2008-10-04 00:00:00'[0:10] print str(getYear())+getMonth()+getDay() print getNow()