この記事では主に Python タイミング関連の操作を紹介します。これには、timestamp、時差、日付形式、その他の操作方法を含む、time、datetime モジュールの使用スキルが含まれます。
この記事の例では、Python のタイミング関連の操作について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1. タイムスタンプ3. Python での時刻と日付の書式設定
5.
1. タイムスタンプ
タイムスタンプは、1970 年 1 月 1 日 (08:00:00 GMT) から現在時刻までの合計秒数です。これは Unix タイムスタンプとも呼ばれ、Unix と C の世界のいたるところで見られます。一般的な形式は、小数点の後にミリ秒が続く浮動小数点数です。 2 つのタイムスタンプを減算したものが時間間隔 (単位: 秒) になります。 例:
import time time1 = time.time() time.sleep(15) time2 = time.time() print time2 - time1
関数
で、単位は秒です。>>> import datetime,time >>> now = time.strftime("%Y-%m-%d %H:%M:%S") >>> print now 2016-04-30 17:02:26 >>> now = datetime.datetime.now() >>> print now
>>> import datetime >>> yestoday = datetime.datetime.now() - datetime.timedelta(days=1) >>> t1 = "%s-00-00-00" % yestoday.strftime("%Y-%m-%d") >>> t2 = "%s-23-59-59" % yestoday.strftime("%Y-%m-%d") >>> print 't1', t1 t1 2016-04-29-00-00-00 >>> print 't2', t2 t2 2016-04-29-23-59-59
>>> d1 = datetime.datetime.now() >>> d3 = d1 + datetime.timedelta(hours=10) >>> d3.ctime() 'Sun May 1 03:09:58 2
>>> import datetime >>> starttime = datetime.datetime.now() >>> endtime = datetime.datetime.now() >>> starttime = datetime.datetime.now() >>> endtime = datetime.datetime.now() >>> print endtime - starttime 0:00:07.390988 >>> print (endtime - starttime).seconds 7 >>> print (endtime - starttime).microseconds 390988
>>> import os >>> statinfo=os.stat(r"C:/1.txt") >>> statinfo (33206, 0L, 0, 0, 0, 0, 29L, 1201865413, 1201867904, 1201865413)
>>> statinfo.st_mtime 1201865413.8952832
linux
タイムスタンプであり、簡単に変換できます。 -理解する形式:>>> import time >>> time.localtime(statinfo.st_ctime) (2008, 2, 1, 19, 30, 13, 4, 32, 0)
%y 2 桁の年表現 (00-99) %Y 4 桁の年表現 (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 1 年の週数 (00-53) 日曜日が週の始まり
%w 曜日 (0-6)、日曜日が週の始まり %W の数年間の週数 (00-53 ) 月曜日は週の始まりです%x 対応する現地の日付表現
%X 対応する現地時間の表現
%Z 現在のタイムゾーンの名前
%% % 数値そのもの
5. 例
#! coding:utf-8 ''''' 日期相关的操作 ''' from datetime import datetime from datetime import timedelta import calendar DATE_FMT = '%Y-%m-%d' DATETIME_FMT = '%Y-%m-%d %H:%M:%S' DATE_US_FMT = '%d/%m/%Y' ''''' 格式化常用的几个参数 Y : 1999 y :99 m : mouth 02 12 M : minute 00-59 S : second d : day H : hour ''' def dateToStr(date): '''''把datetime类型的时间格式化自己想要的格式''' return datetime.strftime(date, DATETIME_FMT) def strToDate(strdate): '''''把str变成日期用来做一些操作''' return datetime.strptime(strdate, DATETIME_FMT) def timeElement(): '''''获取一个时间对象的各个元素''' now = datetime.today() print 'year: %s month: %s day: %s' %(now.year, now.month, now.day) print 'hour: %s minute: %s second: %s' %(now.hour, now.minute, now.second) print 'weekday: %s ' %(now.weekday()+1) #一周是从0开始的 def timeAdd(): ''''' 时间的加减,前一天后一天等操作 datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]) 参数可以是正数也可以是负数 得到的对象可以加也可以减 乘以数字和求绝对值 ''' atime = timedelta(days=-1) now = datetime.strptime('2001-01-30 11:01:02', DATETIME_FMT) print now + atime print now - abs(atime) print now - abs(atime)*31 def lastFirday(): today = datetime.today() targetDay = calendar.FRIDAY thisDay = today.weekday() de = (thisDay - targetDay) % 7 res = today - timedelta(days=de) print res def test(): print dateToStr(datetime.today()) print strToDate('2013-01-31 12:00:01') timeElement() timeAdd() lastFirday() if name=='main': test()
Connected to pydev debugger (build 141.1899) 2016-05-18 10:40:26 2013-01-31 12:00:01 year: 2016 month: 5 day: 18 hour: 10 minute: 41 second: 13 weekday: 3 2001-01-29 11:01:02 2001-01-29 11:01:02 2000-12-30 11:01:02 2016-05-13 10:41:37.001000
以上がPython のタイミング関連操作の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。