栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将未知格式(任何格式)的字符串转换为日期

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将未知格式(任何格式)的字符串转换为日期

Xpre 9•Swift 4Xpre 8.3.2•Swift 3.1

您可以按以下方式使用NSDataDetector:

extension String {    var nsString: NSString { return self as NSString }    var length: Int { return nsString.length }    var nsRange: NSRange { return NSRange(location: 0, length: length) }    var detectDates: [Date]? {        return try? NSDataDetector(types: NSTextCheckingResult.CheckingType.date.rawValue)     .matches(in: self, range: nsRange)     .flatMap{$0.date}    }}extension Collection where Iterator.Element == String {    var dates: [Date] {        return flatMap{$0.detectDates}.flatMap{$0}    }}

测试:

let dateStrings = ["January 3, 1966","Jan 3, 1966", "3 Jan 1966"]for dateString in dateStrings {    if let dateDetected = dateString.detectDates?.first {        print(dateDetected)        // 1966-01-03 14:00:00 +0000        // 1966-01-03 14:00:00 +0000        // 1966-01-03 14:00:00 +0000    }}let dateStrings = ["January 3, 1966","Jan 3, 1966", "3 Jan 1966"]for date in dateStrings.dates {    print(date)    // 1966-01-03 14:00:00 +0000    // 1966-01-03 14:00:00 +0000    // 1966-01-03 14:00:00 +0000}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号