반응형
파이썬에 "2012.11.07"
문자열이 있습니다. 날짜 개체로 변환 한 다음 일 과 줄리안 일 의 정수 값을 가져와야합니다. 가능할까요?
해결 방법
>>> import datetime
>>> fmt = '%Y.%m.%d'
>>> s = '2012.11.07'
>>> dt = datetime.datetime.strptime(s, fmt)
>>> dt
datetime.datetime(2012, 11, 7, 0, 0)
>>> tt = dt.timetuple()
>>> tt.tm_yday
312
"줄리안 데이"라는 용어는 몇 가지 다른 의미를 가지고 있습니다. 2012312
를 찾는 경우 간접적으로 수행해야합니다 (예 : 다음 중 하나).
>>> int('%d%03d' % (tt.tm_year, tt.tm_yday))
2012312
>>> tt.tm_year * 1000 + tt.tm_yday
2012312
다른 의미를 찾고 있다면 여기에서 알아낼 수있을 것입니다. 예를 들어, "기원전 4713 년 1 월 1 일 이후 일"을 의미하고 그레고리력 연도 및 일이 필요한 공식이있는 경우 위의 두 값을 연결할 수 있습니다. 그레고리력의 년, 월, 일이 걸리므로 timetuple
단계도 필요하지 않습니다.) 거기에서 어디로 가야할지 알 수없는 경우 자세한 내용을 문의하십시오.
>>> sum(jdcal.gcal2jd(dt.year, dt.month, dt.day))
2456238.5
분수 율리우스 력 날짜 대신 적분 율리우스 력 날을 원하면 0으로, 음의 무한대로, 정오를 다음 날로 반올림하고, 정오를 짝수로 반올림하는 등 반올림 할 방향을 결정해야합니다. 율리우스 력 날짜는 기원전 4713 년 1 월 1 일 정오부터 시작하는 것으로 정의되므로 2012 년 11 월 7 일의 절반은 2456238이고 나머지 절반은 2456239이며 원하는 날짜는 본인 만 알고 있습니다…) 예를 들어 0으로 반올림하려면 다음을 수행합니다.
>>> int(sum(jdcal.gcal2jd(dt.year, dt.month, dt.day)))
2456238
참조 페이지 https://stackoverflow.com/questions/13943062
반응형
'파이썬' 카테고리의 다른 글
파이썬 이동 평균 또는 실행 평균 (0) | 2021.02.01 |
---|---|
파이썬 When to use Tornado, when to use Twisted / Cyclone / GEvent / other (0) | 2021.02.01 |
파이썬에서 "키를 누르는"방법은 무엇입니까? (0) | 2021.02.01 |
파이썬 Python으로 SQL 구문 분석 (0) | 2021.02.01 |
파이썬 `bin (30)`이`0b11110` 대신`00011110`을 반환하도록하려면 어떻게해야합니까? (0) | 2021.02.01 |
댓글