
我从bigquery记录中检索了一个日期时间(使用Google.cloud.bigquery库),需要根据this api method的’startTime’参数将其发送到rfc 3339格式的Google admin sdk报告API.API期待datetime看起来像这样:
2010-10-28T10:26:35.000Z
通常可以通过创建没有tzinfo的python datetime并调用isoformat来实现这一点:
>>> Now = datetime.utcNow()>>> Now = Now.isoformat("T") + "Z">>> Now'2017-06-01T13:05:32.586760Z'我遇到的问题是来自Bigquery的时间戳包含一个tzinfo对象,这导致isoformat返回Google Api无法处理的文本.
>>> timestamp_from_bigquery'datetime.datetime(2017,5,31,16,13,26,252000,tzinfo=具体来说,Google的API不接受00:00作为startTime.如果我从字符串手动删除00:00 API调用工作,但我不知道如何在没有丑陋的字符串黑客的情况下在python中执行此 *** 作.有没有一些干净的方法从datetime对象中删除它?
我也尝试了这个,但结果相同:
>>> timestamp_from_bigquery.replace(tzinfo=None)'2017-05-31T16:13:26.252000+00:00Z'最佳答案@H_301_34@使用datetime.datetime.strftime():datetime.utcNow().strftime('%Y-%m-%dT%H:%M:%s.%fZ')timestamp_from_bigquery.strftime('%Y-%m-%dT%H:%M:%s.%fZ')当然要确保日期时间在正确的时区. 总结
以上是内存溢出为你收集整理的python – 需要帮助格式化Google API的日期时区全部内容,希望文章能够帮你解决python – 需要帮助格式化Google API的日期时区所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)