没有用于timedelta对象的内置格式化程序,但您自己很容易做到:days, seconds = duration.days, duration.seconds

hours = days * 24 + seconds // 3600

minutes = (seconds % 3600) // 60

seconds = seconds % 60

或者,等价地说,如果您使用的是Python 2.7+或3.2+:seconds = duration.total_seconds()

hours = seconds // 3600

minutes = (seconds % 3600) // 60

seconds = seconds % 60

现在您可以按需打印:'{} minutes, {} hours'.format(minutes, hours)

例如:def convert_timedelta(duration):

days, seconds = duration.days, duration.seconds

hours = days * 24 + seconds // 3600

minutes = (seconds % 3600) // 60

seconds = (seconds % 60)

return hours, minutes, seconds

td = datetime.timedelta(2, 7743, 12345)

hours, minutes, seconds = convert_timedelta(td)

print '{} minutes, {} hours'.format(minutes, hours)

这将打印:9 minutes, 50 hours

如果你想得到“10分钟,1小时”而不是“10分钟,1小时”,你也需要手动完成:print '{} minute{}, {} hour{}'.format(minutes, 's' if minutes != 1 else '',

hours, 's' if minutes != 1 else '')

或者您可能希望编写一个english_plural函数来为您执行's'位,而不是重复您自己。

从你的评论来看,听起来你真的想把日子分开。更简单的是:def convert_timedelta(duration):

days, seconds = duration.days, duration.seconds

hours = seconds // 3600

minutes = (seconds % 3600) // 60

seconds = (seconds % 60)

return days, hours, minutes, seconds

如果要将其转换为要存储在数据库中的单个值,然后将该单个值转换回格式,请执行以下操作:def dhms_to_seconds(days, hours, minutes, seconds):

return (((days * 24) + hours) * 60 + minutes) * 60 + seconds

def seconds_to_dhms(seconds):

days = seconds // (3600 * 24)

hours = (seconds // 3600) % 24

minutes = (seconds // 60) % 60

seconds = seconds % 60

return days, hours, minutes, seconds

所以,把它放在一起:def store_timedelta_in_database(thingy, duration):

seconds = dhms_to_seconds(*convert_timedelta(duration))

db.execute('INSERT INTO foo (thingy, duration) VALUES (?, ?)',

thingy, seconds)

db.commit()

def print_timedelta_from_database(thingy):

cur = db.execute('SELECT duration FROM foo WHERE thingy = ?', thingy)

seconds = int(cur.fetchone()[0])

days, hours, minutes, seconds = seconds_to_dhms(seconds)

print '{} took {} minutes, {} hours, {} days'.format(thingy, minutes, hours, days)

python将小时数换成分钟_如何在Python中将datetime.timedelta转换为分钟、小时?相关推荐

  1. python图片二进制流转换成图片_将图像(np.数组)转换为二进制imag

    谢谢你阅读我的问题. 我是python新手,对scipy很感兴趣.我正试图弄清楚如何将浣熊的图像(在scipy misc中)转换成二进制图像(黑白).这不是在scipy讲座教程中教的. 到目前为止这是 ...

  2. python中 n是换几行_如何在Python中用`\ n`替换通用换行符?

    b'\n'在bytesPython3对象中,用替换所有"通用换行符"的最佳(最干净,最快)方法是什么? 编辑:我最终使用b'\n'.join(bytestr.splitlines( ...

  3. python包含多个元组的元组_如何在python中将多个”列出的”元组连接成一个元组?...

    在python中,关于这个问题的答案很少,如何将一个元组列表连接到一个列表中?,如何在python中合并两个元组?,如何在python中合并任意数量的元组?所有的答案都引用了元组列表,所以提供的解决方 ...

  4. scala 字符串转换数组_如何在Scala中将字节数组转换为字符串?

    scala 字符串转换数组 Byte Array in Scala is an array of elements of a byte type. String in Scala is a colle ...

  5. python图片二进制流转换成图片_微信如何将图片转换成word文字

    每天和手机微信相依为命,小编想问问你们,对于微信的使用,你到底了解多少?比如,你知道原来微信也可以随时翻译多国语言,可以把图片直接转换成你需要的大片文字吗? 微信上的这些小技巧,你知道多少? 本文将为 ...

  6. python如何将bin转换成文字_如何用python把任意文件转换为“1010”样子的文本

    感谢 @xavierskip 的评论! 终于摸出来了..收获良多. 用二进制形式打开文件后,read()出来的字符串叫做binary string,二进制字符串,指的是这串字符串二进制层面上和文件完全 ...

  7. python把单词拆成字母_如何在Python里把独立字母组成单词

    # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2015-04-19' def get_ord(word): word_ = [] ...

  8. python图像切割成多边形_如何在python中将图像裁剪成多边形

    我正在尝试制作一个图形用户界面,帮助我裁剪人脸,并根据他们的情绪(如愤怒.悲伤.高兴等)对其进行折叠.我的代码看起来工作正常,但当我裁剪图像时,它会保存图像的其余部分.我真的不知道怎么才能做到!! 我 ...

  9. python解析xml文件成字典_如何在Python中将XML文件解析为字典?

    您可以使用getElementsByTagName和getAttribute来跟踪结果:dict_users = dict() docXML = parse('mydata.xml') users= ...

最新文章

  1. GitHub上用于微控制器的TensorFlow Lite
  2. 产生任意区间内的均匀分布的随机整数序列
  3. 自动化工具之二:win32gui
  4. 【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
  5. DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构进行迁移学习
  6. MVC中validateRequest=false不起作用
  7. 广州 adobe 技术者开发日回归
  8. matlab getsplitpic,MATLAB_9-模式识别笔记
  9. linux内核驱动之 设备和模块的分类
  10. web前端-----跨域
  11. echo字符集 shell_Shell echo命令:输出字符串
  12. php中的http是什么意思,请问php中三种http请求方式有什么区别呢(cURL,stream,socket)...
  13. 淘宝 - 淘宝买家信誉怎么查询?
  14. 计算机鼠标左键不起作用,电脑鼠标左键不能用怎么办
  15. 服务器文件怎么清理,文件传输服务器怎么清理内存
  16. 朱晔的互联网架构实践心得S1E1:Pilot
  17. [jquery] 动画 show hide toggle,下拉显示---slideDown,淡入淡出----fadeIn, animate() ,停止动画---stop,finish
  18. 低功耗蓝牙芯片CH579系列开发记录
  19. 永宏B1主机2个常见问题
  20. 京东金融支持的银行卡只有几张

热门文章

  1. SAP OData Gateway里uri type为metadata的请求处理逻辑
  2. 我2017年游泳特训安排
  3. 在Visual Studio Code里进行Java开发
  4. wordpress漏洞上传php文件,WordPress wp-admin/includes/file.php任意文件上传漏洞
  5. python下载邮箱附件_基于Python3 下载邮箱附件,并解压到指定文件夹
  6. python批量发送邮件_Python批量发送邮件
  7. 当前工作目录Python
  8. html如何左侧固定div,详解左右宽度固定中间自适应html布局解决方案
  9. 计算机数控系统的软件结构模式,第四章 计算机数控系统(CNC系统)
  10. mysql数据库且字 语句是什么,MySQL(数据库)基本操作