1

我从 rethinkdb 集群中获取的行包括带有时区的日期对象。这是一个例子:

ipython> dt
datetime.datetime(2015, 12, 18, 0, 22, 4, 644000, tzinfo=<rethinkdb.ast.RqlTzinfo object at 0x7f072c5d6250>)

我正在尝试将它们字符串化为某种格式:

dt.strftime("%d-%m-%Y %H:%M:%S (%Z)")

它导致

*** TypeError: tzinfo.tzname() must return None or a string, not 'unicode'

我该如何克服呢?

4

1 回答 1

1

如果您查看 的源代码RqlTzinfo.tzname(),您会发现它只是返回其offsetstr属性。由于该属性永远不会在该类中的任何地方修改或转换,并且该类的行为不依赖于它是 astrunicode,因此以下内容就足够了:

dt.tzinfo.offsetstr = str(dt.tzinfo.offsetstr)
于 2015-12-20T17:12:42.890 回答