我有日期时间格式的字符串,例如:2013-05-28 10:56:31
如何将此字符串格式化为iPhone默认格式? (在iPhone设置中)
如何设置GMT中的日期时间加上时移偏移(也在iphone中设置)。例如GMT + 1
这可能吗?
答案 0 :(得分:6)
您可以使用NSDateFormatter来实现此目的。
NSString *dateString = @"2013-05-28 10:56:31";
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
//Special Locale for fixed dateStrings
NSLocale *locale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setLocale:locale];
//Assuming the dateString is in GMT+00:00
//formatter by default would be set to local timezone
NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
[formatter setTimeZone:timeZone];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date =[formatter dateFromString:dateString];
//After forming the date set local time zone to formatter
NSTimeZone *localTimeZone = [NSTimeZone localTimeZone];
[formatter setTimeZone:localTimeZone];
NSString *newTimeZoneDateString = [formatter stringFromDate:date];
NSLog(@"%@",newTimeZoneDateString);
使用dateFormatter的几点建议。
en_US_POSIX
区域设置答案 1 :(得分:0)
请参阅有关NSDateFormatter的文档,特别是dateFromString
,其中返回“使用接收方当前设置解释的字符串的日期表示。”