ホームページ >バックエンド開発 >Python チュートリアル >Python のタイミング関連操作の詳細な紹介

Python のタイミング関連操作の詳細な紹介

黄舟
黄舟オリジナル
2017-05-28 11:07:221492ブラウズ

この記事では主に Python タイミング関連の操作を紹介します。これには、timestamp、時差、日付形式、その他の操作方法を含む、timedatetime モジュールの使用スキルが含まれます。

この記事の例では、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

このうち、time.sleep()はスリープ

関数

で、単位は秒です。

2. 現在時刻

>>> 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
3. 時差

#1 昨日00:00から昨日23:59

>>> 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
#2 今から10時間後
>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()
'Sun May 1 03:09:58 2

#3 while 秒とマイクロ秒 (同等の変換ではなく、秒とマイクロ秒の部分が取得されることに注意してください)

>>> 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 の最後の 3 つの項目は st_atime です。ファイルの変更時間 (アクセス時間)、st_mtime (変更時間)、st_ctime (作成時間) を取得します。たとえば、ファイル変更時間を取得します:

>>> statinfo.st_mtime
1201865413.8952832

注: この時間は

linux

タイムスタンプであり、簡単に変換できます。 -理解する形式:

>>> import time
>>> time.localtime(statinfo.st_ctime)
(2008, 2, 1, 19, 30, 13, 4, 32, 0)

注 : 19:30:13 on Feb 1, 2008 (2008-2-1 19:30:13)

4. Python での時刻と日付の書式設定記号

%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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。