NSDateFormatter 和 yyyy-MM-dd
我正在尝试采用“2/22/11”格式的 NSString 日期并将其转换为以下格式: 2011-02-22
这是我的代码:
NSDate *dateTemp = [[NSDate alloc] init];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
dateTemp = [dateFormat dateFromString:newInvoice.date];
newInvoice.date = [dateFormat stringFromDate:dateTemp];
newInvoice.date
以 NSString 开头等于“2/22/11”。 dateTemp
最终为 NIL。 newInvoice.date
也以 NIL 结束。
我一生都无法弄清楚为什么。
I'm trying to take a NSString date in the format "2/22/11" and convert it to this format: 2011-02-22
This is my code:
NSDate *dateTemp = [[NSDate alloc] init];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
dateTemp = [dateFormat dateFromString:newInvoice.date];
newInvoice.date = [dateFormat stringFromDate:dateTemp];
newInvoice.date
starts as an NSString equal to "2/22/11". dateTemp
ends up NIL. newInvoice.date
ends up NIL as well.
I can't for the life of me figure out why.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您面临这个问题是因为您的日期格式化程序不正确。假设您的 newInvoice.date 变量存储“11:02:23”,您的 dateFormatter 应该是 @“yy:MM:dd”,如果您的 newInvoice.date 变量存储“2 /22/11" 那么你的 dateFormatter 应该是 @"MM/dd/yy"
两种格式都应该根据你的要求以获得正确的结果
You are facing this problem because your date formatter is not correct.Suppose your newInvoice.date variable store "11:02:23" the your dateFormatter should be @"yy:MM:dd" and if your newInvoice.date variable store"2/22/11" then your dateFormatter should be @"MM/dd/yy"
both format should be according to your requirement to get the correct result
这应该可以正常工作。我已经设置了日期样式。您可以将
NSDateFormatterShortStyle
更改为其他内容。另请检查您的 newInvoice.date 格式。This should work fine. I have set Date style. You can change
NSDateFormatterShortStyle
to something else. Also check your newInvoice.date format.