如何将int(秒数)转换为mm:ss或hh:mm:ss格式?
我需要使用Python代码(如果可能,请在Django模板中)执行此操作。
我不敢相信众多答案中的任何一个都可以提供我认为的“一种明显的方法”(而且我什至都不是荷兰人!秒(特别是86399秒):
>>> import time >>> time.strftime('%H:%M:%S', time.gmtime(12345)) '03:25:45'
由于time过滤器支持时髦的时间格式语法(我相信是从PHP启发而来的),并且还需要datetime模块和时区实现(例如pytz)来准备数据,因此使用Django模板更为挑剔。例如:
>>> from django import template as tt >>> import pytz >>> import datetime >>> tt.Template('{{ x|time:"H:i:s" }}').render( ... tt.Context({'x': datetime.datetime.fromtimestamp(12345, pytz.utc)})) u'03:25:45'
根据您的确切需求,在应用程序中为此格式化任务定义自定义过滤器可能会更方便。