objective-c之NSString到NSDate返回错误的日期
soundcode
阅读:86
2025-06-02 22:19:02
评论:0
我尝试将NSString转换为NSDate对象,但NSDateFormatter返回了一个奇怪的值。
这是代码:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *date = [dateFormat dateFromString:@"2012-08-15 00:00"];
[dateFormat release];
date的值为
2012-08-14 21:00 +0000。
NSString值和
NSDate值相差3小时。我想我错过了一些东西,但是我不知道是什么。
请您参考如下方法:
这就是我用的:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];
NSDate *date = [dateFormat dateFromString:@"2012-08-15 00:00:00 +0000"];
NSLog(@"\n\n DATE: %@ \n\n\n", date);
+0000是时区,因此请确保使用时区,例如
+0400。
编辑:
如果您无法更改字符串,则可以使用以下代码进行操作:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];
[dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *date = [dateFormat dateFromString:@"2012-08-15 00:00"];
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



