我正在使用以下代码将NSDate转换为字符串:
+(NSString*) stringFromDate:(NSDate*) date
{
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
return [dateFormatter stringFromDate:date];
}
工作正常,但是当我使用下面的代码时,它会减少1天
NSString *dateString = [HJDateFormatter stringFromDate:picker.date];
这段代码有什么问题????
答案 0 :(得分:0)
尝试此代码
+(NSString*) stringFromDate:(NSDate*) date
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *posix = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:posix];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
return [dateFormatter stringFromDate:date];
}
答案 1 :(得分:0)
我能够解决这个问题由Aleksey Kozhevnikov回答:
“将您的UIDatePicker的timeZone属性设置为与NSDateFormatter中相同的区域”