使用 NSDate 从字符串中查找日期
我在从使用 NSDateFormatter 格式化的字符串中查找日期时遇到问题。
现在,我正在使用此代码:
NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue];
此代码返回具有 GeorgianCalendar 格式的日期,但我希望它采用 PersianCalendar。
我想如果我使用这段代码:
NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue locale:];
它将返回真实的日期格式,但我不知道如何使用区域设置来设置适当的日期格式化程序(或我的系统区域设置)。
上面代码中的 balanceDateAfter
是一个带有 NSDateFormatter 的 NSTextfield
。
I am having problem finding date from string that is formatted using NSDateFormatter
Now, I am using this code:
NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue];
This code returning date with GeorgianCalendar format but I want it in PersianCalendar.
I think if I use this code :
NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue locale:];
It will return true date format but I don't know how can I use locale to set appropriate date formatter ( or my system locale ).
balanceDateAfter
in above codes is an NSTextfield
with NSDateFormatter.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NSDate
没有日历。 NSDate 表示绝对时刻,定义为该时刻与 GMT 2001 年 1 月 1 日第一个时刻之间的差异。基本上,它是正数或负数的秒数,仅此而已。如果您为文本字段分配了适当的格式化程序,则应该使用 -objectValue,而不是 -stringValue。这样,您将直接获得
NSDate
,而无需自己解析字符串。NSDate
s do not have a calendar. An NSDate represents an absolute moment in time as defined by the difference between that moment and the first instant of 1st January 2001 in GMT. Basically, it's a positive or negative number of seconds, nothing more.If you have an appropriate formatter assigned to the text field, you should get its value using -objectValue, not -stringValue. That way, you will be given the
NSDate
directly and you won't need to parse the string yourself.