簡體   English   中英

Swift:如何從String中提取日期作為NSDate?

[英]Swift:How to extract the date from String as NSDate?

我的日期是“ 2017-05-04 13:46:36.0” 。現在我該如何僅過濾此日期?

我已經使用了這個功能:

    func toDate(dateString : String, dateFormat : String = "yyyy-MM-dd'T'HH:mm:ssX")-> NSDate!{
  let dateFormatter = NSDateFormatter()
  dateFormatter.dateFormat = dateFormat
  dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
  dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
  let convertedDate = dateFormatter.dateFromString(dateString)
  return convertedDate
}

let date = "2017-05-04 13:46:36.0"

now i have tried tried to set:
lbl.text = String.toDate(dateString: date, dateFormat: "yyyy-MM-dd")

它總是返回nil並使應用程序崩潰? 為什么在Swift 2中會發生這種情況?

您傳遞了錯誤的參數

var dateString: String = "2017-05-04 13:46:36.0"
var dateFormatter1 = DateFormatter()
dateFormatter1.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
var yourDate: Date? = dateFormatter1.date(from: dateString)
dateFormatter1.dateFormat = "yyyy-MM-dd"

日期格式器規則是從字符串獲取日期時,必須將日期格式設置為與字符串相同,如果不匹配,則將返回null

迅捷2

var dateString: String = "2017-05-04 13:46:36.0"
var dateFormatter1: NSDateFormatter = NSDateFormatter()
dateFormatter1.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
var yourDate: NSDate = dateFormatter1.dateFromString(dateString)
dateFormatter1.dateFormat = "yyyy-MM-dd"
print("\(dateFormatter1.stringFromDate(yourDate))")
let dateString = "2017-05-04 13:46:36.0"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.0"
let date = dateFormatter.date(from: dateString)!
dateFormatter.dateFormat = "yyyy-MM-dd"
dateFormatter.string(from: date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM