繁体   English   中英

NSDate在新加坡当地时间(SGT)返回1933-01-01 00:00:00的nil

[英]NSDate returns nil for 1933-01-01 00:00:00 in Singapore local time (SGT)

如果运行此代码,则可以看到对于1933-01-01 00:00:00 + 0000,NSDate始终为null。 请帮助我如何解决它。

NSString *date = @"1933-01-01 00:00:00 +0000";

 NSString* dateString = [[NSString stringWithFormat:@"%@", date] stringByReplacingOccurrencesOfString:@" +0000" withString:@""];
        NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"SGT"]];
        [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
        [dateFormatter setLocale:[NSLocale systemLocale]];
        [dateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];
        NSDate* sgtDate = [dateFormatter dateFromString:dateString];
        NSLog(@"SGT Date: %@",sgtDate);

在此处输入图片说明

尝试

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT+08:00"]];

代替

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"SGT"]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM