目标C:关于时间和数组的问题

时间:2012-07-29 01:22:02

标签: objective-c xcode

Q1。 NSDate * now = [NSDate date];
NSLog(@"当前日期:%@",现在);

显示的时间比系统时间提前4小时。我想知道为什么会这样,我该如何纠正呢?

Q2 ..在C / C ++中,字符串被视为一个字符数组。在Objective-C中也是如此吗?

2 个答案:

答案 0 :(得分:3)

NSDate *now = [NSDate date];
NSLog(@"Current date:%@",now); 

它“现在”不是“约会”。

答案 1 :(得分:1)

A1:NSLog(@"%@", now)实际上与NSLog(@"%@", [now description])相同。 NSDate对象不关心时区是什么,因此它的description方法只会给你UTC时间。如果需要使用正确的时区和语言环境进行格式化,则需要先使用NSDateFormatter对象将其转换为格式良好的字符串。

A2:是,不,但绝大多数没有。你可以这样做:

char *cString = "I am a C string";

创建一个C字符串,你可以像在C中一样对待。但是,这是你很少在Objective-C中看到的东西,除非绝对必要。使用字符串的“正常”方式是NSString或NSMutableString的实例,它们是完全成熟的对象:

NSString *normalString = @"I'm above all that.";(请注意@符号)