我使用下面的方法将NSString转换为NSDate。
当我构造NSDate from字符串时,日期总是比作为输入的一部分提供的当天晚一天,小时是18:30:00 +0000。为什么会与我所提供的有所不同。我希望我提供的日期和小时与00:00:00 +0000相同
+(NSDate*)convertStringToNSDate:(NSString*)string withFormat:(NSString*)format{
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
//[dateFormat setTimeZone:[NSTimeZone localTimeZone]];
[dateFormat setDateFormat:format];
NSDate *date = [dateFormat dateFromString:string];
[dateFormat release];
return date;
}

发布于 2011-12-22 15:56:48
这个问题经常出现,但我找不到合适的副本(在手机上搜索没有帮助)。
NSDate表示特定的时间点。当你记录NSDate的值时,它以格林尼治标准时间显示,比你的时区晚5.5小时(我假设是印度)。所以这个值是正确的。如果您通过日期格式化程序重新运行该日期,您将再次获得午夜的本地时间,因为日期格式化程序正在使用您的本地时区。
https://stackoverflow.com/questions/8600468
复制相似问题