2012-07-29 47 views
0

Q1。 NSDate *现在= [NSDate日期];
NSLog(@“当前日期:%@”,现在);目标C:有关时间和数组的问题

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

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

+0

你需要考虑如何'NSDate'处理时区。看到这里:http://stackoverflow.com/questions/1268509/convert-utc-nsdate-to-local-timezone-objective-c – 2012-07-29 03:07:37

回答

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.";(注意@符号)

+0

非常感谢您的建议肖恩! – 2012-08-07 21:51:26

+0

当然可以! (如果你觉得它有帮助,你会介意将答案标记为已接受吗?我在这里相当新,不介意代表。谢谢!) – 2012-08-10 03:01:55

+0

当然。我刚刚发送了+ ve反馈...希望它有助于.. :-) – 2012-08-11 22:25:37

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

它是“现在”而不是“日期”。

+0

感谢您的评论..我已经犯了一个错误,而在问题框中搭售。我现在纠正了我的问题。 – 2012-07-29 02:51:08