将 NSDate 转换为 String 得到空对象
Posted
技术标签:
【中文标题】将 NSDate 转换为 String 得到空对象【英文标题】:Converting NSDate to String gets empty object 【发布时间】: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 相关 :)) 标签不是关于问题的内容,而是关于问题的内容。通过相同的逻辑,您可以选择一个随机标签并找到某种关系 怎么了?你应该告诉我们。我们可以告诉您是什么导致了问题,但不能告诉您问题是什么。您告诉我们正在发生的事情,并将其与您想要发生的事情进行比较。然后我们可以帮助您找到解决方案。 【参考方案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)
如果你不给它一个样式,你会得到一个空字符串。
【讨论】:
以上是关于将 NSDate 转换为 String 得到空对象的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 nsdateformatter 将 nsdate 转换为另一种格式
将具有给定时间的 NSDate 对象转换为具有相同时间和当前日期的对象的最有效方法
如何将长整数时间转换为 NSString 或 NSDate 以显示时间?