我正在寻找类似如下的东西:
2015-07-14T13:51:05.423Z
至
About two weeks ago
Swift最好的办法是什么?虽然最佳可能会直接格式化字符串,但我明白,这可能需要将字符串转换为NSDate对象.
任何帮助将不胜感激.
编辑:我的问题已被确定为another question的可能重复.汤姆下面的解决方案是针对Swift撰写的,比为我的情况创建一种新方法更加优雅.
你需要两个步骤.首先,将日期字符串转换为NSDate:let dateString = "2015-07-14T13:51:05.423Z"let df = NSDateFormatter()df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"let date = df.dateFromString(dateString)
(如果这不是您获得的字符串的精确表示,则必须更改日期格式字符串以获得此转换).
接下来,使用NSDateComponentsFormatter获取所需的字符串:
let formatter = NSDateComponentsFormatter()formatter.unitsstyle = NSDateComponentsFormatterUnitsstyle.Fullformatter.includesApproximationPhrase = trueformatter.includesTimeRemainingPhrase = falseformatter.allowedUnits = NSCalendarUnit.WeekOfMonthCalendarUnitif let pastDate = date { let daterelativeString = formatter.stringFromDate(pastDate,toDate: NSDate())}
今天是7月28日,所以这个字符串的结果是“约2周”. allowedUnits属性是一个位字段,因此您可以指定尽可能多的单位类型.
总结以上是内存溢出为你收集整理的日期/时间Swift中的自然语言近似全部内容,希望文章能够帮你解决日期/时间Swift中的自然语言近似所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)