我知道有人问过这个问题,但没有提供解决方案。Python UTC日期时间对象的ISO格式不包括Z(Zulu或零偏移)
我正在寻找一种在Python中用这种格式生成UTC时间戳的干净方法。我需要的格式是2013-10-29T09:38:41.341Z
。
具体来说,我需要在最后加上“Z”。Python的datetime.utcnow(). isoform()
不会在末尾附加Z。
请注意,手动添加“Z”不是我可以接受的解决方案。我正在寻找一个干净的方法来做到这一点。
以ISO格式生成带后缀Z
的UTC时间戳的干净方法是什么?
由于缺乏声誉,我将此添加为新答案。
Tomasz Swider解决方案是一个良好的开端,但是如果提供的时间没有微秒,则[:-3]
将缩短秒数:
我将使用utcfromtimestamp演示这一点:
In [10]: datetime.utcfromtimestamp(0.1).isoformat()[:-3] + 'Z'
Out[10]: '1970-01-01T00:00:00.100Z'
In [10]: datetime.utcfromtimestamp(0).isoformat()[:-3] + 'Z'
Out[11]: '1970-01-01T00:00Z'
我认为这是一个更干净的解决方案,可以获得ISO日期(毫秒)和Zulu时间的“Z”:
datetime.utcnow().isoformat(timespec='milliseconds')+ 'Z'
再次演示如何使用UTCFROM时间戳:
In [25]: datetime.utcfromtimestamp(0.1).isoformat(timespec='milliseconds')+ 'Z'
Out[25]: '1970-01-01T00:00:00.100Z'
In [25]: datetime.utcfromtimestamp(0).isoformat(timespec='milliseconds')+ 'Z'
Out[25]: '1970-01-01T00:00:00.000Z'
可以使用箭头
库。
箭头
还没有覆盖它,请参阅github问题。我不认为任何python库可以做到这一点。但是现在黑客很简单。
需要安装pip
虽然:
$ pip install arrow
然后得到你的iso格式,但没有祖鲁格式
import arrow
arrow.utcnow().isoformat()
#'2017-02-10T08:44:38.954159+00:00'
或者你自己做。
arrow.utcnow().format('YYYY-MM-DDTHH:mm:ss.SSS') + 'Z'
# 2017-02-11T12:34:30.483Z
像这样的怎么样
datetime.utcnow().isoformat()[:-3] + 'Z'
我试图理解UTC和ISO格式之间的区别,以及在服务器之间传输消息时使用什么。所以当我尝试以下方法时,我得到的是
我正在寻找javascript/jquery库,它可以为我提供UI和功能来选择ISO 8601格式的持续时间。 用户界面应包含多个级联选择框,用户可以选择月,小时,天,周...在ISO_8601中定义。 选择后,库应将其转换为标准ISO_8601持续时间格式的代码,反之亦然。 例如,“P3Y6M4DT12H30M5S”表示持续时间为“三年六个月四天十二小时三十分五秒”。
我正在寻找一种从“ISO 8601持续时间格式”(P0DT0H0M0S)转换为小时的便捷方法。 到目前为止,我想到了这个: 如您所见,我的方法是将数字拆分并乘以24、1、1/60、1/3600以得到小时。我可以减少代码量吗? 样本数据和所需结果 输入: 'P1DT2H3M44S' (1 天 2 小时 3 分 44 秒) 期望输出: 26.062222222222222 (这是小时)
我有一个关于格式化程序的问题。 在SWAPI(https://SWAPI.co/documentation#people)中,您可以读取和日期,其格式如下: 但是在预定义格式化程序中的类DateTimeFormatter的文档一节中,我看不到任何与SWAPI日期示例匹配的格式化程序。
问题内容: 我正在尝试以 2015-08-20T08:26:21.000Z* 到 2015-08-20T08:26:21Z 的格式创建字符串 * 我知道可以使用某些String拆分技术来做到这一点,但是我想知道是否有一种优雅的解决方案(只需最少的代码更改)。 以上都是时间字符串,我需要的最后一个是ISO 8601中的Date。http://tools.ietf.org/html/rfc3339#s
是否有任何方法可以解析ISO 8601持续时间,例如“P3Y6M4DT12H30M5S”,并返回类似“3年、6个月、4天、12:30:05”的内容 我对润滑剂的持续时间或解析包没有运气。