플로트 형식으로 저장된 두 개의 타임 스탬프가 있습니다.
tms1 = 1479081600.0
tms2 = 1482105600.0
차이를 계산하면
tms2 - tms1
3024000.0
이 시차 3024000을 일, 월 또는 년 단위로 읽을 수있는 형식으로 표시하려면 어떻게해야합니까? (답은 온라인 유닉스 시차 계산기를 사용하여 2016 년 11 월 14 일부터 2016 년 12 월 19 일까지 35 일입니다.)
사용할 수 있습니다 ( import
ing 후 datetime
)
datetime.timedelta(seconds=3024000).days
그것은
35
timedelta
절대 시간이 아니라 시간의 차이 인 시간 델타이므로 사용해야합니다 . a timedelta
를 문자열 로 강제 변환하여 전체 표현을 얻을 수도 있습니다 .
print(datetime.timedelta(seconds=3024000))
출력을 제공합니다.
35 days, 0:00:00
온라인 계산기가 필요하지 않습니다 datetime
. 배터리가 포함되어 있습니다. 다음과 같이 할 수 있습니다.
import datetime
date_format = "%d %b %Y"
start_date = datetime.datetime.strptime("14 Nov 2016", date_format)
end_date = datetime.datetime.strptime("19 Dec 2016", date_format)
print(start_date == datetime.datetime.fromtimestamp(1479081600))
print(start_date)
print(end_date.strftime("%d/%m/%Y"))
diff = end_date - start_date
print(diff)
print(diff.days)
다음을 출력합니다.
True
2016-11-14 00:00:00
19/12/2016
35 days, 0:00:00
35
참고 diff
원본과 동일한 여기 timedelta
객체하지만 동적로부터 생성되는 datetime
정적 구성보다는 S. 또한 원하는 경우 타임 스탬프에서 datetime을 작성할 수 있다는 사실을 시연 strftime
했으며, datetime의 힘을 설명하기 위해 데모 등의 자유를 취했습니다 . datetime
훨씬 더 읽기 쉽고 확장 가능하기 때문에 산술 접근 방식보다 접근 방식을 적극 권장합니다 .
이 답변은 매우 가볍기 때문에 제공되는 것보다 더 많은 기능이 필요하지 않을 수도 있으므로 반드시 나쁘지는 않지만 timedelta
예를 들어 2 일 사이가 24 시간 미만이면 0 일로 반올림됩니다. 또한 시간대를 처리 할 수 없습니다. 그중 하나가 필요 하면 전설적인 Raymond의 멋진 답변을 참조하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다