2017-10-06 166 views
0

當我將設備時間更改爲24小時格式時,NSDate變爲零。NSDate變爲零

NSString *stampStr = @"10/6/2017 8:57:44 AM"; 
NSDateFormatter *oldFormatter = [NSDateFormatter new]; 
[oldFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 
NSTimeZone *tz = [NSTimeZone timeZoneForSecondsFromGMT:10800]; // GMT+3 
[oldFormatter setTimeZone:tz]; 
NSDate *oldDate = [oldFormatter dateFromString:stampStr]; 

但它在iPhone設備中更改爲12小時格式時正常工作。

+1

您需要設置區域設置POSIX.https的locale://developer.apple.com/library/content/qa/qa1480/_index.html – Sulthan

+0

謝謝(你的)信息 – user6788419

回答

0

你需要設置你的NSDateFormatter

oldFormater.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];