我希望日期在 2 行上
public func smdt(date:NSDate)->NSString{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "h:mma dd MMMM yyyy"
return dateFormatter.stringFromDate(date)
}
我在字符串中添加时间,但我想在“dd”之前开始新的一行
示例:h:mma\ndd MMMM yyyy
应该是:
7:12PM
19 May 2015
在 .dateFormat
中,\n
不起作用...唯一的方法是检测 PM 和 19 之间的第一个空格并替换它与 \n
。如何做到?
它必须适用于地球上的每个时区。这意味着我不能使用 AM/PM 来分隔...
最佳答案
您的代码应该可以工作。也许这让您感到困惑,例如,如果您从 playground 中检查返回值的值,该值是这样的:
"6:21PM\n19 May 2015"
但是如果我这样使用你的代码:
public func smdt(date:NSDate)->NSString{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "h:mma\ndd MMMM yyyy"
return dateFormatter.stringFromDate(date)
}
然后使用println
调用该值:
println(smdt2(NSDate()))
打印出来的值是这样的:
6:22PM
19 May 2015
因此您可以像已经尝试过的那样使用您的代码。
但您也可以像这样拆分小时和日期/月份,然后再将其连接起来:
public func smdt(date:NSDate)->NSString{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "h:mma"
var hour = dateFormatter.stringFromDate(date)
dateFormatter.dateFormat = "dd MMMM yyyy"
var otherPart = dateFormatter.stringFromDate(date)
return "\(hour)\n\(otherPart)"
}
关于swift - 格式化日期 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30330870/