Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何将字符串转换为具有无关字符(swift)的NSDate?_Xcode_Swift_Nsdate - Fatal编程技术网

Xcode 如何将字符串转换为具有无关字符(swift)的NSDate?

Xcode 如何将字符串转换为具有无关字符(swift)的NSDate?,xcode,swift,nsdate,Xcode,Swift,Nsdate,我有字符串“Sat,2015年11月21日19:20:48 EST\n\t\t”,我需要将其转换为NSDate,但它始终为零 我试着用手把绳子清理干净 dateString.stringByReplacingOccurrencesOfString(\),带字符串:“”,选项:NSStringCompareOptions.LiteralSearch,范围:nil) 结果看起来不错:Sat,2015年11月21日19:20:48。转换为NSDate=nil:( 好的,我手动删除了带噪字符,并尝试将字

我有字符串“Sat,2015年11月21日19:20:48 EST\n\t\t”,我需要将其转换为NSDate,但它始终为零

  • 我试着用手把绳子清理干净
  • dateString.stringByReplacingOccurrencesOfString(\),带字符串:“”,选项:NSStringCompareOptions.LiteralSearch,范围:nil)

    结果看起来不错:Sat,2015年11月21日19:20:48。转换为NSDate=nil:(

  • 好的,我手动删除了带噪字符,并尝试将字符串“Sat,2015年11月21日19:20:48 EST”转换为NSDate。Nil再次
  • let dateString=“美国东部时间2015年11月21日星期六19:20:48”
    let formatter=NSDateFormatter()
    formatter.locale=NSLocale(localeIdentifier:'US\u en')

    formatter.dateFormat='yyyy-MM-dd'
    打印(“日期=\(日期)”)
    //日期=零
    

    我做错了什么

    即使我使用“formatter.timeZone=NSTimeZone(缩写:“EST”)”仍然为零

    回答你的第一个问题:

    您可以使用以下代码从字符串中删除不需要的空格和换行符

    var dateAsString = "Sat, 21 Nov 2015 19:20:48 EST\n\t\t"
    dateAsString = dateAsString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
    
    回答你的第二个问题:

    有关所有字符串格式符号的列表,请参阅本文档中的日期格式符号表

    您应该能够使用此格式化程序转换指定的日期

    let customDateFormatter = NSDateFormatter()
    dayTimePeriodFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
    
    let date = dayTimePeriodFormatter.dateFromString(dateAsString) //"Sat, 21 Nov 2015 19:20:48 EST"
    

    您的
    dateFormat
    错误。请阅读有关
    NSDateFormatter
    的文档以及如何使用日期格式。超级!工作正常。谢谢。