当前位置: 首页 > 知识库问答 >
问题:

如何在Swift中将特定格式的字符串转换为日期?[副本]

宋经业
2023-03-14

我有这样的字符串2020-09-21T21:13:55.636Z…我想将它们转换为Dates,这就是我所做的;

func convertToDate(str: String) -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"

    return dateFormatter.date(from: str)!
}

上面的代码在解开包装时崩溃。我猜这是因为格式...你知道我做错了什么吗?

共有1个答案

东方谦
2023-03-14

对于日期字符串,您应该使用< code > incubrize date formatter ,如下所示:

var str = "2020-09-21T21:13:55.636Z"

let formatter = ISO8601DateFormatter()
formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
let date = formatter.date(from: str)

这将节省您尝试获得完全正确的格式字符串的麻烦。

 类似资料:
  • 本文向大家介绍在SAP HANA中以特定格式将字符串转换为日期,包括了在SAP HANA中以特定格式将字符串转换为日期的使用技巧和注意事项,需要的朋友参考一下 我认为您只需要使用“ TO_VARCHAR”和“ TO_DATE”功能。

  • 问题内容: 我有多个具有生日的联系人,并且所有联系人都已与移动设备同步。现在的问题是所有联系人的生日格式都不同,我想以“ dd-MM- yyyy”之类的特定格式显示所有生日日期。 因此,例如,一个同步联系人的生日为“ 1990-02-07”或“ 1988-06-15T22:00:00.000Z”或“ 12-02-1990”等,则应显示所有这些日期以特定格式“ dd-MM-yyyy”。 那我该如何解

  • 我有多个联系人的出生日期,并且都与移动设备同步。现在的问题是所有联系人都有不同的生日格式,我想以特定格式显示所有生日日期,例如“dd-MM-yyyy”。 例如,一个同步联系人的生日是“1990-02-07”或“1988-06-15T22:00:00.000Z”或“12-02-1990”等...那么所有这些日期都应该以特定的格式“dd-MM-yyyy”显示。 那么我该如何解决这个问题呢? 如有任何建

  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。

  • 问题内容: 我学得很快,并且对将日期String转换为NSDate转换为string感到震惊。我正在以以下格式获取日期字符串:“2015年10月22日星期四07:45:17 +0000”。我需要以MM-dd-yyyy格式显示日期。我尝试了以下代码,但返回“ null”。 谁能帮忙哪里出问题了?期待帮助。提前致谢。 问题答案: 首先,您需要使用其格式将字符串转换为NSDate。然后,将更改为简单格式

  • 问题内容: 如何将该字符串转换为,并仅保留年,月,日,小时? 它的中间部分真的使我不习惯使用日期时。 问题答案: 将ISO8601字符串转换为日期 从日期获取年,月,日和小时的日期部分 let components = calendar.dateComponents([.year, .month, .day, .hour], from: date) 最后创建一个新对象并删除分钟和几秒钟 还请考虑i