如何将字符串转换为日期或将日期转换为字符串

时间:2020-02-08 08:56:10

标签: swift date cell

我有一个日期类型为Date的表格单元格,它显示了以下错误,我不知道如何解决:

错误:无法将类型为“日期”的值分配为类型为“字符串?”

cell.Resum_Controls_Data_txt.text = control.data

control.data(类型为日期)

2 个答案:

答案 0 :(得分:0)

Resum_Controls_Data_txtString而不是Date的类型,因此您必须使用DateFormatter将日期转换为字符串,如下所示:

let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "HH:mm E, d MMM y" //add date format whichever you want
cell.Resum_Controls_Data_txt.text = formatter.string(from: control.data)

答案 1 :(得分:0)

control.data.description

将为您提供某种形式的字符串表示形式,但可能不是您想要的。

它将简单地以通常不适合UI表示的全面形式转储各种细节。

还有

control.data.description(with: *some locale*)

但这只是相同的本地化版本。也许您想看看DateFormatter

反之则更加困难,因为它意味着解析日期的字符串表示形式。

在非常技术性的设置中,可以使用ISO8601标准来表示日期和时间。这是相对常见的,具有日期,时间,日期和时间的表示形式,可以选择包括时区偏移量&c。

此外,它很容易解析。

在更传统的/面向客户的UI设置中,您可能希望在GUI中选择自定义日期控件,因此您可以在建模时简单地使用Date而无需在字符串之间进行转换,并且自定义控件负责显示和编辑日期值。