使用Python将时间或者时间间隔转为ISO 8601格式
来源:互联网 发布:学编程哪里好 编辑:程序博客网 时间:2024/06/07 06:32
Python自带的datetime库提供了将datetime转为ISO 8610格式的函数,但是对于时间间隔(inteval)并没有提供转换的函数,下面我们动手写一个。
对于时间间隔,ISO 8601的表示形式如下:
P表示的是时间间隔的前缀。YMDHMS分别表示年月日时分秒,W表示周。T表示后面的字符是精确到天的,也就是以小时表示开始的前缀。
英文解释如下 :
[P] is used as time-interval (period) designator, preceding a data element which represents a given duration of a time-interval;
The character [T] shall be used as time designator to indicate the start of the representation of time of the day in date and time expressions.
下面是实现代码:
# -*- encoding: utf-8 -*-import datetimedef isoformat(time): ''' 将datetime或者timedelta对象转换成ISO 8601时间标准格式字符串 :param time: 给定datetime或者timedelta :return: 根据ISO 8601时间标准格式进行输出 ''' if isinstance(time, datetime.datetime): # 如果输入是datetime return time.isoformat(); elif isinstance(time, datetime.timedelta): # 如果输入时timedelta,计算其代表的时分秒 hours = time.seconds // 3600 minutes = time.seconds % 3600 // 60 seconds = time.seconds % 3600 % 60 return 'P%sDT%sH%sM%sS' % (time.days, hours, minutes, seconds) # 将字符串进行连接if __name__ == '__main__': dtnow = datetime.datetime.now() # 获取现在时间 print(isoformat(dtnow)) dtpast = datetime.datetime(1990, 12, 31) # 获取过去某个时间点 print(isoformat(dtpast)) interval = dtnow - dtpast # 得到时间差 print(interval) print(isoformat(interval))
输出结果如下:
2017-01-14T10:54:28.3230001990-12-31T00:00:009511 days, 10:54:28.323000P9511DT10H54M28S
0 0
- 使用Python将时间或者时间间隔转为ISO 8601格式
- ISO 8601 标准时间格式
- ISO 8601:标准时间格式
- 将中国标准时间转为日期格式
- 时间戳转为时间格式
- java 如何得到ISO 8601 时间格式
- Java获取 ISO 8601格式时间
- python日期时间转为字符串或者格式化输出
- python时间转为时间戳
- python时间转为时间戳
- 将时间搓转为月-日,小时 :分 格式
- json时间格式转为ext
- Oracle 毫秒转为时间格式
- 时间戳转为日期格式
- thinkphp 时间戳转为日期时间格式
- 时间戳转为C#格式时间 (互转)
- 将时间戳转为字符串
- ios 将时间戳转为时间类型
- 链接 图片 表格
- radiobutton去掉圆圈
- <LearnWLS> 重置 WebLogic 管理密码
- 关于怎么将Quartus和Nios程序一起固化到FPGA里面
- WriteBatch-levelDB源码解析
- 使用Python将时间或者时间间隔转为ISO 8601格式
- 图解正向代理、反向代理、透明代理
- 2017全球云计算大会·中国站 (Cloud Connect China 2017)
- C#高效绘图(转)
- opencv3 ubuntu安装脚本
- 日期工具类
- PLSQL Developer中Window List 窗口被关闭及锁定办法
- Bug实录(二)
- java日期类型及数据库存储日期