在Swift 4中将日期转换为字符串的简单方法

斯威夫特是一门出色的语言。 它相对容易学习并且非常直观。 虽然有些事情不是那么简单。 例如,如果您想将数字转换为字符串,则有很多方法。

 字符串(数字) 
“\(麻木)”

但这不适用于日期。 您可以通过调用Date()获得当前日期,但是如果您想填充一个需要字符串的核心数据对象,该怎么办-但您仍然想显示一个日期呢? 如果您想以可读格式输入日期怎么办? 您需要使用日期格式化程序,将其转换然后输出一个字符串。

我一遍又一遍地做这件事,直到我决定创建一个非常简单的函数为我做。 因此,我可以再次将其发布到这里,但这意味着在搜索解决方案时在页面上迷路的任何人都可以使用它。

  func formatDate(_ dateString:Date)->字符串{ 
让dateIn = dateString

让dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .short

dateFormatter.locale =语言环境(标识符:“ en_GB”)

返回dateFormatter.string(from:dateIn)
}

只需将该函数放在所需的快捷页面中,然后调用它即可。 您可以在参数字段中使用Date()来获取当前日期或以日期格式传递任何日期。

 让dateString = formatDate(Date()) 

然后它将输出一个可以使用的字符串值。 该方法以编码格式编写,因此,如果要将其更改为长,短或无时间/日期,只需更改函数中的dateStyle和timeStyle元素即可。

如果您需要多次日期转换,则甚至可以在参数中传递这些参数来设置它们。

  func formatDate(_ dateString:Date,dateStyle:DateFormatter.Style,timeStyle:DateFormatter.Style)->字符串{ 
让dateIn = dateString

让dateFormatter = DateFormatter()
dateFormatter.dateStyle = dateStyle
dateFormatter.timeStyle = timeStyle

dateFormatter.locale =语言环境(标识符:“ en_GB”)

返回dateFormatter.string(from:dateIn)
}

然后,您只需调用相同的DateFormatter,但使用上面讨论的额外参数即可。 然后,将以您概述的格式显示日期。

 让dateString = formatDate(Date(),dateStyle:.medium,timeStyle:.short)