如何在Google AppEngine db.TimeProperty中转换时间字符串?

时间:2017-02-16 02:42:54

标签: python google-app-engine google-cloud-platform google-cloud-datastore

根据问题标题,如何将Python string转换为Google App Engine db.TimeProperty

我试着这样做:

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

但是我收到以下错误:

  

BadValueError:属性时间必须是时间,但是   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)

1 个答案:

答案 0 :(得分:1)

我不熟悉(已取代的)db文档,但NDB Cheat Sheet db.TimeProperty()直接对应ndb.TimeProperty()。来自ndb的{​​{3}}:

  

有三种属性类型可用于存储与日期和时间相关的内容   值:

     
      
  • DateProperty
  •   
  • TimeProperty
  •   
  • DateTimeProperty
  •   
     

这些属于相应类的值(date,   标准Python time模块的datetimedatetime)。最多   三者的一般是DateTimeProperty,表示两者都是   日历日期和一天中的时间;其他人偶尔也有用   用于特殊目的仅需要约会(例如出生日期)   或只是一个时间(如会议时间)。由于技术原因,   DatePropertyTimeProperty是其子类   DateTimeProperty,但你不应该依赖这种继承   关系(并注意它与继承不同   datetime定义的基础类之间的关系   模块本身)。

所以我写下来了:

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