gpt4 book ai didi

Swift - 将日期字符串从 "datepicker filled date field"转换为 nsdate

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

我有一个 UIDatepicker 附加到名为 dateField 的文本字段。当用户单击该字段时,会弹出一个 UIDatePicker,用户可以选择出生日期。该日期被保存为该日期字段的字符串,并根据用户位置显示格式,即美国 1990 年 5 月 4 日或澳大利亚 1990 年 5 月 4 日。

稍后当他们按下保存按钮时,我想将日期保存到 CoreData。我一直在尝试将日期字符串转换回 NSDate,但我一直遇到问题并获得 nil 日期。

我认为在执行此操作之前需要设置 NSDateFormatter 语言环境和时区,因此我将其设置为用户的 currentLocale 和 localTimeZone。我还认为我需要设置日期格式...如果我将日期格式设置为“dd MMM yyyy”,则 NSDate 在用户语言环境为澳大利亚时有效,但如果我将语言环境设置为美国则无效。

我如何设置日期格式,以便无论用户的区域设置如何,它都允许 dateFromString 方法工作。或者我应该以不同的方式这样做(即将生日保存为字符串而不是 NSDate 唯一时间点)

我的代码

    let dateStr = "20 Aug 1990" //suppose dateField contains this string as saved from a UIDatePicker (formatted according to the user's locale ... ie would be Aug 20 1990 in USA locale)
let formatter = NSDateFormatter()
formatter.locale = NSLocale.currentLocale()
formatter.timeZone = NSTimeZone.localTimeZone()
formatter.dateFormat = "dd MMM yyyy" //how can i set this to be non-locale specific

var dobStr = dobField.text
var dob: NSDate? = formatter.dateFromString(dobStr)
println(dob) //prints nil if user locale is USA

最佳答案

let date: Date = myDatePicker.date

我还没有测试过,但是the docs建议它应该工作。

关于Swift - 将日期字符串从 "datepicker filled date field"转换为 nsdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158177/

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