我已经阅读了很多示例,但我面临的问题是我得到的日期没有前导 0,而我发现的所有 Objective-c 内容都有它们。所以我需要记下日期:
2012 年 4 月 9 日下午 1:30
并确定是否是今天。我的位置是要么抓住今天的日期并将其与该字符串的第一部分进行比较,但正如我之前所说,我无论如何都找不到在没有前导 0 的情况下在目标 c 中创建日期。我希望避免手动解析该字符串以添加前导 0。
我已经阅读了很多示例,但我面临的问题是我得到的日期没有前导 0,而我发现的所有 Objective-c 内容都有它们。所以我需要记下日期:
2012 年 4 月 9 日下午 1:30
并确定是否是今天。我的位置是要么抓住今天的日期并将其与该字符串的第一部分进行比较,但正如我之前所说,我无论如何都找不到在没有前导 0 的情况下在目标 c 中创建日期。我希望避免手动解析该字符串以添加前导 0。
使用 NSDateFormatter 对象
[dateFormatter setDateFormat:@"h:mm a"];
如果你想要 0
[dateFormatter setDateFormat:@"hh:mm a"];
我认为对日期格式字符串使用单个 M 选项将允许它解析单个数字的月份值:
此处指定了可能的日期格式
@ynistersix 答案是正确的。在Data Formatting Guide中,他们说NSDateFormatter
遵循http://unicode.org/reports/tr35/tr35-dates.html
h 1..2 11 小时 [1-12]。当用于骨架数据或在 API 中传递的用于灵活日期模式生成的骨架中时,它应该匹配区域设置(h 或 K)首选的 12 小时周期格式;它不应与 24 小时循环格式(H 或 k)匹配。使用 hh 进行零填充。
这与大多数其他语言一致。像.NET
"h" 小时,使用从 1 到 12 的 12 小时制。
"hh" 小时,使用从 01 到 12 的 12 小时制。