使用 NSDate 从字符串中查找日期

发布于 2024-11-19 10:03:16 字数 582 浏览 4 评论 0原文

我在从使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝咒 2024-11-26 10:03:16

NSDate 没有日历。 NSDate 表示绝对时刻,定义为该时刻与 GMT 2001 年 1 月 1 日第一个时刻之间的差异。基本上,它是正数或负数的秒数,仅此而已。

如果您为文本字段分配了适当的格式化程序,则应该使用 -objectValue,而不是 -stringValue。这样,您将直接获得 NSDate,而无需自己解析字符串。

NSDates 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文