我有一个服务器,它使用 NOW() 将用户之间发送的数据存储在 mySQL 数据库上来设置时间。我正在尝试将时间转换为收件人的本地时间,但运气不佳(我会在存储之前转换时间,但正如我所说,我希望时间是收件人的本地时间,而不是发件人的本地时间)。日期作为字符串返回给应用程序,我尝试将其调整如下:
NSString *string1 = [[receivedMessages objectAtIndex:thisRow]objectAtIndex:2];
NSDate *messageDate;
NSCalendar* cal = NSCalendar.currentCalendar;
NSTimeZone* tz = cal.timeZone;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM dd yyyy hh:mma"];
[formatter setTimeZone:tz];
messageDate = [formatter dateFromString:string1];
它确实格式化了日期,但不正确。应用收到的日期为:
April 5 2012 5:49AM
转换为:
2012-04-05 04:49:00 +0000
我想知道xcode首先是如何计算出日期属于哪个时区的?
实际上,我刚刚再次使用
NSTimeZone *pst = [NSTimeZone timeZoneWithAbbreviation:@"PST"];
代替
NSCalendar* cal = NSCalendar.currentCalendar;
NSTimeZone* tz = cal.timeZone;
它仍然给了我 2012-04-05 04:49:00 +0000 的时间。
有人有想法么?
非常感谢