我希望日期在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点12分
2015年5月19日
在.dateFormat
中,\n
不起作用......唯一可行的方法是检测PM和19之间的第一个空格,并将其替换为\n
。怎么做?
它必须适用于地球上的每个时区。这意味着我无法使用AM / PM进行分离......
答案 0 :(得分:4)
您的代码应该有效。也许它让你感到困惑,例如,如果你从操场上检查你的返回值的值,那么值就是这样:
"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)"
}