如何以年、日格式快速显示秒数
Posted
技术标签:
【中文标题】如何以年、日格式快速显示秒数【英文标题】:How to display seconds in year, day format in swift 【发布时间】:2015-08-04 20:04:33 【问题描述】:我需要做的就是改变 xcode 显示我的值的方式。我的代码当前以分钟为单位显示某物的年龄,例如 4503mint 。我希望能够以以下格式显示这些值 3 天 3 小时 3 分钟而不是 4503 分钟。非常感谢您的帮助。问候
【问题讨论】:
请详细说明您的要求。也许你可以举一个例子,你正在努力实现什么。另外 - 计算的年份是否是闰年是否重要? 感谢您的回复。对不起,如果我不够清楚。但请容忍我,因为我是新来的。我需要做的就是改变 xcode 显示我的值的方式。我的代码当前以分钟为单位显示某物的年龄,例如 4503mint 。我希望能够以以下格式显示这些值 3 天 3 小时 3 分钟而不是 4503 分钟。非常感谢您的帮助。问候 【参考方案1】:你说:
我的代码当前以分钟为单位显示某物的年龄,例如 4503mint 。我希望能够以以下格式显示这些值 3 天 3 小时 3 分钟而不是 4503 分钟。
您可以使用NSDateComponentsFormatter
对其进行格式化。只需将分钟数乘以 60 即可得到 NSTimeInterval
,然后您可以将其提供给格式化程序:
let formatter = NSDateComponentsFormatter()
formatter.unitsStyle = .Full
let minutes = 4503
let timeInterval = NSTimeInterval(minutes * 60)
print(formatter.stringFromTimeInterval(timeInterval))
这将产生“3 天 3 小时 3 分钟”(或任何适合该设备区域设置的格式)。
更多信息请参见NSDateComponentsFormatter Reference。
【讨论】:
【参考方案2】:您显然可以自己计算(即天 = 秒/(3600*24)等),您也可以查看NSDateComponentsFormatter
,这可能正是您正在寻找的功能,几乎不需要编码工作。
【讨论】:
【参考方案3】:您可以自己计算或执行以下操作:
let mySeconds = 700000
let date = NSDate(timeIntervalSinceNow: mySeconds) // difference to now
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = NSDateFormatter.dateFormatFromTemplate("yyyy.MM.dd", options: 0, locale: NSLocale.currentLocale())
dateFormatter.stringFromDate(date)
【讨论】:
以上是关于如何以年、日格式快速显示秒数的主要内容,如果未能解决你的问题,请参考以下文章
Excel格式数据如何快速导入MySQL数据库 ,Excel日期数据如何成功导入MySQL
swift 使用DateFormatter显示日序的解决方法(Ex:`1st` February)的Playground(快速代码)