如何解决如何在python的Google Fit API中获取用于过滤结果的日期的日期格式?
我正在尝试使用here所记录的会话的Google API文档提供的示例作为参考来进行GET
查询,
curl --header "Authorization: Bearer ya29.1.yourtokenvalue" -X GET \
--header "Content-Type: application/json;encoding=utf-8" \
"https://www.googleapis.com/fitness/v1/users/me/sessions?startTime=2014-04-01T00:00:00.000Z&endTime=2014-04-30T23:59:59.999Z"
您会看到以下格式的日期:
2014-04-01T00:00:00.000Z
我目前正在使用python构建日期,如下所示: 从datetime导入datetime,timedelta
PREVIOUS_DAYS=1
end = datetime.now().replace(minute=0,second=0)
start = end_date - timedelta(days = PREVIOUS_DAYS)
end_date = datetime.fromtimestamp(end).astimezone().strftime('%Y-%m-%dT%H:%M:%S.')
start_date = datetime.fromtimestamp(start).astimezone().strftime('%Y-%m-%dT%H:%M:%S.')
print str(start_date)
我不知道de T是什么意思,在strftime documentation的时间戳结尾,我找不到多少毫秒。我也无法在google API文档中找到有关它的任何信息,所以也许这只是我所希望知道的一个标准?
解决方法
看起来这是称为ISO 8601的标准格式。 Python支持使用isoformat函数以这种格式对任何datetime对象进行编码。 您将看到的唯一区别是“ Z”后缀,这表示时区为UTC。 Python将使用不同的符号“ +00:00”,这也是标准可接受的符号。
<option name="charting.chart.showMarkers">true</option>
如果您真的想保留“ Z”后缀,可以手动剥离“ +00:00”并添加“ Z”,但是我相信这不是必需的。
>>> from datetime import datetime,timezone
>>> datetime.now(timezone.utc).isoformat()
2014-04-01T00:00:00.000+00:00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。