问题是,NSDateFormatter的doesrelativeFormatting仅在使用dateStyle时起作用,而不在dateFormat中起作用. (基本上,我需要在明天后的所有日子里使用dateFormat =“EEEE”的功能.)
目前,我正在使用以下代码:
let dateFormatter = NSDateFormatter()dateFormatter.timeStyle = .NoStyledateFormatter.dateStyle = .FullStyledateFormatter.doesrelativeDateFormatting = truelet dateString = dateFormatter.stringFromDate(theDate)return dateString.componentsSeparatedByString(" ")[0]
这恰好在我的特定区域设置中工作,其中NSDateFormatterStyle.FullStyle输出类似“2015年8月23日星期日”的内容,但显然这不是一个好的或一般的解决方案.
我找到的最接近的东西是this question,但对于我的用例来说似乎不必要的复杂,如果可能的话,我想要更优雅的东西.
谢谢!
解决方法 我使用3个日期格式化程序:> dateStyle = .FullStyle和doesrelativeDateFormatting = true
> dateStyle = .FullStyle和doesrelativeDateFormatting = false
> dateFormat =“EEEE”和dIDrelativeDateFormatting = false
获取1和2的格式化字符串.如果它们不同,则使用1中的字符串.如果它们相同,则获取并使用3中的字符串.
这应该对所有语言环境都可靠地工作.出于性能原因,请确保保留所有3个格式化程序,而不是每次都重新创建它们.
总结以上是内存溢出为你收集整理的ios – NSDateFormatter:使用具有相对格式的自定义格式全部内容,希望文章能够帮你解决ios – NSDateFormatter:使用具有相对格式的自定义格式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)