오늘은 파이썬에서 datetime 을 이용하여 OLE Automation Date Format 으로 변경하는 방법을 포스팅해보도록 하겠습니다.
해당 포맷은 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.
python socket send, recv, http(GET, POST), multipart/mixed data (2) | 2020.06.03 |
---|---|
python datetime to utc timestamp (2) | 2020.04.16 |
python HTTP, GET, POST, REST API (0) | 2020.03.24 |
파이썬 딕셔너리 json, python dictionary json 만들기, python json, json string (0) | 2020.02.26 |
python XML, python ElementTree, python XML String 만들기, tostring (0) | 2020.02.24 |