이 글은 주로 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이며, 단위는 초입니다.
>>> 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
#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
>>> 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. 예시
위 내용은 Python 타이밍 관련 작업에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!#! 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