Q1。NSDate *now = [NSDate 日期];
NSLog(@"当前日期:%@",now);
显示的时间比系统时间早 4 小时。我想知道为什么会这样,我该如何纠正它?
Q2.. 在 C/C++ 中,字符串被视为字符数组。在 Objective-C 中也是这样吗?
Q1。NSDate *now = [NSDate 日期];
NSLog(@"当前日期:%@",now);
显示的时间比系统时间早 4 小时。我想知道为什么会这样,我该如何纠正它?
Q2.. 在 C/C++ 中,字符串被视为字符数组。在 Objective-C 中也是这样吗?
NSDate *now = [NSDate date];
NSLog(@"Current date:%@",now);
是“现在”而不是“日期”。
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.";
(注意@
符号)