1

В соответствии с вопросом заголовка, как преобразовать Python string в Google App Engine db.TimeProperty?Как преобразовать строку времени в Google AppEngine db.TimeProperty?

Я попытался сделать:

obj.time = strptime("10:00", "%H:%M") 

Однако я получаю следующее сообщение об ошибке:

BadValueError: Property time must be a time, but was time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)

+0

вы действительно не должны использовать' db' библиотеку, она устарела в течение многих лет. –

+0

@ DanielRoseman Это относится и к ndb. – RedDragon

ответ

1

Я не знаком с (вытесняется) db документы, но из NDB Cheat Sheetdb.TimeProperty() соответствует непосредственно до ndb.TimeProperty(). И от ndb «s Date and Time Properties:

Three property types are available for storing date- and time-related values:

  • DateProperty
  • TimeProperty
  • DateTimeProperty

These take values belonging to the corresponding classes (date , time , datetime) of the standard Python datetime module. The most general of the three is DateTimeProperty , which denotes both a calendar date and a time of day; the others are occasionally useful for special purposes requiring just a date (such as a date of birth) or just a time (such as a meeting time). For technical reasons, DateProperty and TimeProperty are subclasses of DateTimeProperty , but you shouldn't depend on this inheritance relationship (and note that it differs from the inheritance relationships between the underlying classes defined by the datetime module itself).

Так что я бы писать:

obj.time = datetime.datetime.strptime("10:00", "%H:%M").time()