Objective-C将NSDate设置为当前UTC

Bro*_*die 79 iphone utc objective-c nsdate ios

是否有一种简单的方法来NSDate使用当前的UTC日期/时间进行初始化?

jes*_*rry 147

[NSDate date];

您可能想要创建一个类似这样的类别:

-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
    [dateFormatter setTimeZone:timeZone];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:localDate];
    [dateFormatter release];
    return dateString;
}
Run Code Online (Sandbox Code Playgroud)

  • 我需要它作为日期对象而不是字符串,在这种情况下我该怎么办? (3认同)
  • NSTimeZone*timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; [dateFormatter setTimeZone:timeZone]; 那个钉了它谢谢 (2认同)

rcw*_*cw3 13

NSDate是对绝对参考日期(2001年1月1日00:00 GMT)的间隔的引用.因此类方法[NSDate date]将返回该间隔的表示.要以UTC文本格式显示该数据,只需使用带有相应NSTimeZone(UTC)的NSDateFormatter根据需要进行渲染.

  • 我相信[NSDate now]应该是[NSDate date]在这个答案中. (3认同)