swift - 格式化日期 2 行

标签 swift date

我希望日期在 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/

相关文章:

ios - 处理我希望能够引用的 10k 字典的最佳方法?

javascript 日期对象不返回正确的日期

ios - 使用动画显示颜色序列(Swift)

swift - 向 UIAlertView 添加事件指示器

php - 填充数组中缺失的元素

php - 如何在 php 中使电子邮件链接在 X 分钟后过期?

JavaScript 计算 2 个日期之间的年份和月份

Javascript数组排序并制定与天数范围相同的时间表

ios - ForEach 两个数组 - 可能有简单的解决方案吗?

swift - UI测试: How to test if label contains some text after changes?