>백엔드 개발 >파이썬 튜토리얼 >Python 시간 처리에 대한 자세한 설명

Python 시간 처리에 대한 자세한 설명

大家讲道理
大家讲道理원래의
2016-11-07 16:40:071182검색

1. 현재 시간을 가져오는 두 가지 방법:

import datetime,time
now = time.strftime("%Y-%m-%d %H:%M:%S")
print now
now = datetime.datetime.now()
print now

2. 지난 달의 마지막 날(이번 달의 1일에서 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. time

d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(hours=10)
d3.ctime()

일반적으로 사용되는 두 가지 클래스는 datetime과 timedelta입니다. 서로 더하거나 뺄 수 있습니다. 각 클래스에는 특정 값을 볼 수 있는 몇 가지 메소드와 속성이 있습니다. 예를 들어 datetime은 일(일), 시간(시간), 요일(weekday()) 등을 볼 수 있습니다. , 초 숫자(초) 등

5. 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.

%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()


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