gpt4 book ai didi

ios - 如何将日期字符串快速转换为 NSDate 类型

转载 作者:行者123 更新时间:2023-11-28 07:40:48 25 4
gpt4 key购买 nike

我正在尝试采用 dd/mm/yyyy 格式的字符串并将其转换为 NSDate,以便我可以存储生日。日、月和年被验证为真实日期(也不是 future 日期),因此我知道它们是正确的。它们由用户作为文本字段输入,我想我可以将 dateString 设为我想要的任何有用的格式。

let day = dayTextField.text
let month = monthTextField.text
let year = yearTextField.text
let dateString = "\(day)/\(month)/\(year)"
let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "dd/MM/yyyy"

let birthdate: NSDate = dateFormatter.date(from: dateString) as NSDate

我的问题出在最后一行,当我尝试将日期字符串转换为 NSDate 时,出现以下错误:

'Date?' is not convertible to 'NSDate'; did you mean to use 'as!' to force downcast?

我可以在“(from: dateString)”之后强制转换,但我认为这不是正确的做法。

如果您能提供任何帮助和见解,我们将不胜感激!谢谢

最佳答案

如果您让用户从 UIDatePicker 中选择日期,那么您和用户都会更轻松。这有很多优点:

  • 用户不必在三个文本字段中键入
  • 您可以通过date 属性获取选定的日期。你不需要所有这些格式化程序和东西
  • 您可以设置用户可以通过 maximumDate 属性选择的最大日期。这样您就不必手动检查它是否在将来。只需将 maximumDate 设置为现在。
  • 日期选择器将根据用户的语言环境使用不同的格式。您根本不需要担心。

请记住将 datePickerMode 设置为 .date!

至于到NSDate的转换,你可以很容易地通过这个表达式来完成:

datePicker.date as NSDate

如果你坚持使用三个文本字段,你可以这样做:

dateFormatter.date(from: dateString) as NSDate? // note that this produces an optional

关于ios - 如何将日期字符串快速转换为 NSDate 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52306483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com