Как создать MacOS Дата / Время Какао в Python 3? - PullRequest
0 голосов
/ 05 сентября 2018

В основном я пытаюсь найти способ конвертировать текущую дату / время в MacOS Cocoa Date, например, такую ​​как 555599045 (может содержать до 18 цифр). Я могу конвертировать метку времени Какао в обычную дату, например, так.

unix = datetime(1970, 1, 1)  # UTC
cocoa = datetime(2001, 1, 1)  # UTC
delta = cocoa - unix  # timedelta instance 
timestamp = datetime.fromtimestamp(int("557799045")) + delta 
print(timestamp.strftime('%Y-%m-%d %H:%M:%S'))

Так что теперь я собираюсь сделать обратное, снова преобразовав текущую дату в эту метку времени "Какао". Это приложение будет только на macOS, так что все в порядке, если оно зависит от ОС.

1 Ответ

0 голосов
/ 05 сентября 2018

Используйте cocoa для вычитания из utcnow() и получите total_seconds(), например ::

In []:
from datetime import datetime
cocoa = datetime(2001, 1, 1)
adjusted_time = datetime.utcnow() - cocoa
adjusted_time.total_seconds()

Out[]:
557802606.825758

Если вам нужно int, просто используйте int(adjusted_time.total_seconds())

Просто чтобы подтвердить, что вы можете использовать tz осведомленный datetime с, например ::

In []:
from datetime import datetime, timezone
cocoa = datetime(2001, 1, 1, tzinfo=timezone.utc)
adjusted_time = datetime.now(tz=timezone.utc) - cocoa
adjusted_time.total_seconds()

Out[]:
557802607.343162
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...