如何以年、日格式快速显示秒数

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表格中的出生日期格式快速转换?

如何在快速日期字符串中使用破折号(“-”)?

如何快速查看EPS,AI等矢量文件

如何使用 Oracle 以年、月和日为单位获取年龄

Excel格式数据如何快速导入MySQL数据库 ,Excel日期数据如何成功导入MySQL

swift 使用DateFormatter显示日序的解决方法(Ex:`1st` February)的Playground(快速代码)