将 NSDate 转换为 String 得到空对象

Converting NSDate to String gets empty object

在应用程序中,有一个屏幕,我在其中使用模式 Date 中的 Date Picker 来获取日期输入。

那么本屏会将NSDate类型输入的日期转换成字符串后传到上屏显示为textFiled

func dateDetector(aDate: UIDatePicker) {

    let dateFormat = NSDateFormatter()

    dateFormat.dateStyle = NSDateFormatterStyle.MediumStyle
    dateFormat.timeStyle = NSDateFormatterStyle.NoStyle

    dueDate = aDate.date

我认为你没有给格式化程序一个样式。

let df = NSDateFormatter()
df.dateStyle = NSDateFormatterStyle.LongStyle
let ds = df.stringFromDate(nsd)

print(ds)

如果你不给它一个样式,你会得到一个空字符串。

基于 ryantxr 添加的答案

有时您需要在存储和检索日期时设置区域设置标识符。 例如:-

{

let dateFormat = NSDateFormatter()
dateFomat.locale = NSLocale(localeIdentifier:"en_IN")
dateFormat.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormat.timeStyle = NSDateFormatterStyle.NoStyle

dueDate = aDate.date

}

当更改为字符串时 {

let dateFormat = NSDateFormatter() dateFomat.locale = NSLocale(localeIdentifier:"en_IN") dateFomat.dateStyle = NSDateFormatterStyle.MediumStyle let datestring = dteformat.stringFromDate(dueDate)

}

希望对您有所帮助