Aug*_*sto -1 date nsdateformatter ios swift
我必须将创建的对象格式化为Date()特定格式,此格式必须显示如下日期:
28 may, 2018 11:00:32
我有一个 func 来格式化Date(),但要遵循以下格式:
yyyy-MM-dd HH:mm:ss
功能工作:
static func dateFormatTime(date : Date) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.string(from: date)
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何制作这种格式: dd MMM, yyyy HH:mm:ss
简单地说,您所要做的就是将dateFormatter.dateFormat值更改为所需的格式,在您的情况下为“dd MMM, yyyy hh:mm:ss”:
func dateFormatTime(date : Date) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM, yyyy hh:mm:ss"
return dateFormatter.string(from: date)
}
Run Code Online (Sandbox Code Playgroud)
所以:
let str = dateFormatTime(date: Date())
print(str) // 29 May, 2018 12:18:08
Run Code Online (Sandbox Code Playgroud)
时区:
您还可以像这样设置所需的时区:
dateFormatter.timeZone = TimeZone(identifier: "UTC")
Run Code Online (Sandbox Code Playgroud)
感谢@rmaddy建议使用日期样式(dateStyle和timeStyle属性)而不是编辑日期格式。
向用户显示日期时,您可以 根据您的特定需要设置日期格式化程序的
dateStyle和timeStyle属性...基于dateStyle和timeStyle属性的值,DateFormatter提供适用于给定语言环境的指定日期的表示。
因此:
func dateFormatTime(date : Date) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .medium
dateFormatter.timeZone = TimeZone(identifier: "UTC")
return dateFormatter.string(from: date)
}
let str = dateFormatTime(date: Date())
print(str) // May 29, 2018 at 12:45:08 AM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5839 次 |
| 最近记录: |