Ios 日期格式为.long或.full,不会产生小时/分钟/天/秒

Ios 日期格式为.long或.full,不会产生小时/分钟/天/秒,ios,swift,Ios,Swift,我希望将当前日期作为一个字符串显示,显示的粒度降低到小时/分钟/秒,但是下面的代码只显示“2017年1月20日星期五”。我试过使用无、、长、、满的日期样式。它们只显示最接近的一天的粒度,如何获得比这更细的粒度 let dateFormatter = DateFormatter() dateFormatter.dateStyle = .full let now = Date() let dateString

我希望将当前日期作为一个字符串显示,显示的粒度降低到小时/分钟/秒,但是下面的代码只显示“2017年1月20日星期五”。我试过使用无、、长、、满的日期样式。它们只显示最接近的一天的粒度,如何获得比这更细的粒度

    let dateFormatter       = DateFormatter()
    dateFormatter.dateStyle = .full
    let now                 = Date()
    let dateString          = dateFormatter.string(from: now)

您还必须设置
时间样式。示例(德语地区):

或者,设置
dateFormat
。例如:

let dateFormatter       = DateFormatter()
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "EEEE ddMMMyyyy HHmmss",
                                                    options: 0, locale: Locale.current)
let now                 = Date()
let dateString          = dateFormatter.string(from: now)

print(dateString) // Freitag, 20. Jan. 2017, 18:46:36

你很接近!您还需要为
DateFormatter
提供
timeStyle

let dateFormatter       = DateFormatter()
dateFormatter.dateStyle = .full
dateFormatter.timeStlye = .full // options of short, medium, long, and full
let now                 = Date()
let dateString          = dateFormatter.string(from: now)

上述打印的
.full
于2017年1月20日星期五东部标准时间下午12:40:23

要查看不同的时间样式,您需要在日期格式化程序上设置时间样式的值。e、 g

dateFormatter.timeStyle = .full
以下格式适用于时间样式和日期样式

case none
case short
case medium
case long
case full
如果您想了解更多有关日期格式化程序的信息,请参阅苹果的文档。

case none
case short
case medium
case long
case full