Young & Rich

 

오늘은 파이썬에서 datetime 을 이용하여 OLE Automation Date Format 으로 변경하는 방법을 포스팅해보도록 하겠습니다.

 

OLE Automation Date ?

해당 포맷은 1899년 12월 30일 0시 0분 0초를 기준으로 time 을 나타내는 format 입니다.

(1899년 12월 30일 자정기준)

 

Microsoft .NET 플랫폼에서는 public double ToOADate() 인스턴스를 사용하여 얻을 수 있습니다.

 

python 에서 해당 OLE Automatino date 값을 얻으려면 datetime 을 이용하여 계산 할 수 있습니다.

 

from datetime import datetime, timezone

OLE_TIME_ZERO = datetime(1899, 12, 30, 0, 0, 0, tzinfo=timezone.utc)

timestamp = datetime.now(timezone.utc)
ole_time = timestamp - OLE_TIME_ZERO
ret_ole_time = float(ole_time.days) + (float(ole_time.seconds) / 86400)

print(ret_ole_time)

 

1일이 1.0 인 것을 감안하여 위와 같이 계산할 수 있습니다.

하루를 초로 계산하면 86400 초이이므로 86400 로 나눈값을 더합니다.

 

코드는 현재 utc time 을 기준으로 OLE Automation date 를 구한 값입니다.

 

위의 코드를 응용하여 현재시간만이 아닌 datetime 형으로 된 시간을 OLE Automation date 로 변경할 수 있습니다.

 

그럼 20000.

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band