【问题标题】:Converting NSDate to String gets empty object将 NSDate 转换为 String 得到空对象
【发布时间】:2016-04-20 20:26:21
【问题描述】:

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

那么这个屏幕会将NSDate类型中输入的日期传递到上一个屏幕转换为字符串后显示为textFiled

func dateDetector(aDate: UIDatePicker) {

    let dateFormat = NSDateFormatter()

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

    dueDate = aDate.date

【问题讨论】:

  • 旁注:您能否停止 使用“Xcode”作为标签和问题标题?您为许多最后的问题做了它,其中没有一个与 Xcode 相关。你正在使用 Xcode——你没有问任何关于它的问题。让我们只关注实际的主题。谢谢。 :)
  • 请提供一个带有精确值的最小示例。这个问题需要很长时间才能解读。
  • 出了什么问题 :)) Swift 与 Xcode 无关,然后 Swift 与 Android Studio 相关 :))
  • 标签不是关于问题的内容,而是关于问题的内容。通过相同的逻辑,您可以选择一个随机标签并找到某种关系
  • 怎么了?你应该告诉我们。我们可以告诉您是什么导致了问题,但不能告诉您问题是什么。您告诉我们正在发生的事情,并将其与您想要发生的事情进行比较。然后我们可以帮助您找到解决方案。

标签: swift uitableview nsdate


【解决方案1】:

基于 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)

}

希望对你有帮助

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-26
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2013-10-16
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      相关资源
      最近更新 更多