>  기사  >  백엔드 개발  >  Python 타이밍 관련 작업에 대한 자세한 소개

Python 타이밍 관련 작업에 대한 자세한 소개

黄舟
黄舟원래의
2017-05-28 11:07:221471검색

이 글은 주로 Python 타이밍 관련 작업을 소개하며, time, datetime 모듈의 사용 기술, timestamp 포함, 시차, 날짜 형식 및 기타 작업 방법이 필요한 친구들이 참고할 수 있습니다.

이 문서의 예제에서는 Python 타이밍 관련 작업을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

1. 타임스탬프2. 시차

4. Python의 시간 및 날짜 형식 지정 기호

5.



1. 타임스탬프

타임스탬프는 1970년 1월 1일(08:00:00 GMT)부터 현재 시간까지의 총 초 수입니다. 이는 Unix Timestamp라고도 하며 Unix와 C 세계 어디에서나 볼 수 있습니다. 일반적인 형식은 소수점 이하 밀리초가 표시되는 부동 소수점 숫자입니다. 두 개의 타임스탬프를 빼는 것이 시간 간격(단위: 초)입니다. 예:

import time
time1 = time.time()
time.sleep(15)
time2 = time.time()
print time2 - time1

그 중 time.sleep()은 sleep

function

이며, 단위는 초입니다.

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의 마지막 세 항목은 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)

참고: 2008년 2월 1일 19:30:13 (2008-2-1 19:30:13)

4. Python의 시간 및 날짜 형식 기호

%y 두 자리 연도 표시(00-99) %Y 네 자리 연도 표시(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 1년의 주 (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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.