Как преобразовать из .NET DateTime в дату и время IronPython?

Я вызываю IronPython script и передаю ему объект .NET, содержащий структуру DateTime.

Я пытаюсь использовать поддержку JSON от IronPython для сериализации объекта как JSON.

Все отлично работает, пока я не столкнулся с .NET DateTime.

Как мне преобразовать из .NET DateTime в IronPython DateTime?

Ответы

Ответ 1

Ожидая, что люди могут захотеть конвертировать между ними, мы действительно делаем это очень просто:

import datetime
from System import DateTime
datetime.datetime(DateTime.Now)

Ответ 2

Как известно, тип datetime имеет следующую структуру: datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]). Так что вам нужно всего лишь найти способ выполнения необходимых параметров.

strptime еще не реализован (иначе вы могли бы просто вызвать datetime.datetime.strptime(DateTime.Now.ToString(format), format).strftime(format)) в IronPython, вместо этого вы можете использовать следующий код (не очень оптимизированный):

from System import DateTime

import datetime

d = DateTime.Now

print datetime.date(d.Year, d.Month, d.Day)
print datetime.datetime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second)