Существуют ли стандартные правила и практики для сериализации дат между двумя языками или средами?

1

Кажется простым, но я просто не знаю.

Мне интересно сериализовать дату в строку или целое число и отправить ее с Objective-C на Python, и я хочу знать, есть ли способ, которым я должен это делать.

Отправка целых секунд, так как эпоха Unix кажется довольно разумной (и NSDate поставляет это с готовностью), но поддерживает ли дата-время Python это?

Есть ли принятый формат строки для дат и сериализации?

Теги:
datetime
date
serialization

2 ответа

3
Лучший ответ

Конечно, Python может конвертировать секунды из Epoch в объекты datetime.datetime:

In [23]: import datetime as dt

fromtimestamp возвращает datetime.datetime в локальный часовой пояс вашего компьютера:

In [24]: dt.datetime.fromtimestamp(0)
Out[25]: datetime.datetime(1969, 12, 31, 19, 0)

utcfromtimestamp возвращает UTC datetime.datetime:

In [26]: dt.datetime.utcfromtimestamp(0)
Out[26]: datetime.datetime(1970, 1, 1, 0, 0)
  • 0
    Каково значение utc версии метода?
  • 2
    @Jasconius: если вы общаетесь между машинами в разных часовых поясах, будет проще, если все машины будут работать с временными метками UTC.
0

Да, Python поддерживает создание объектов Date из эпохи Unix (хотя я не уверен на 100% в секундах, может быть в мс)

В большинстве языков должна быть встроенная поддержка Unix-времени, и если нет, было бы сложно создать функцию для этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню