2014-12-17 4 views
1

안녕하세요 친구 나는 그들에게 전달 된 날짜에 따라 하루를 반환하는 파이썬에서 두 가지 방법을 썼지 만 내가 얻는 결과는 경우에 따라 다릅니다. 내 코드를 붙여 넣은 다음 수정하여 제안 해주세요.Python에서 주어진 날짜에서 일 찾기

예 : 날짜 "10/06/2014"(m/d/yy)에 대해 하나의 함수는 월요일로 올바른 결과를 반환하고 다른 것은 반환하지 않는 일요일로 반환합니다. 한 케이스에서는 Odoo8 (Openerp) 서버의 메소드를, 다른 케이스에서는 Python의 메소드를 사용하고 있습니다.

def a(): 
    month, day, year = (int(x) for x in "10/06/2014".split('/')) 
    ans = datetime.date(year, month, day) 
    day_name = ans.strftime("%A") # the day_name is Monday here 


def b(): 
    dt = datetime.strptime("10/06/2014", "%m/%d/%y") 
    dt = fields.Datetime.context_timestamp(self, dt) # openerp's ORM method 
    t = dt.strftime("%A")  # the day_name is Sunday here 
+0

"필드"란 무엇입니까? –

+0

날짜 문자열과 날짜 형식이 일치하지 않기 때문에이 코드가 실제로 작동하는 것에 놀랐습니다. 올바른 코드를 붙여 넣으시겠습니까? –

답변

2

나는 datetime.date이 시간대를 인식하지, 당신은 그리니치의 서쪽에 있기 때문에 그런 것 같아요, 그리고 openerp.fields.Datetime.context_timestamp는 시간대를 인식이다.

시간대가 PST 인 경우, 예를 들어 10/06/2014 0:00 UTC의 타임 스탬프는 분명히 일요일 인 10/05/2014 16:00 PST이됩니다.

+0

@Andrey Sobolev 감사합니다. 시간대 문제 였으므로 지금 해결되었습니다. –