Q1。 NSDate *现在= [NSDate日期];
NSLog(@“当前日期:%@”,现在);目标C:有关时间和数组的问题
显示的时间比系统时间提前4小时。我想知道为什么会这样,我该如何纠正它?
Q2 ..在C/C++中,字符串被视为一个字符数组。在Objective-C中也是这样吗?
Q1。 NSDate *现在= [NSDate日期];
NSLog(@“当前日期:%@”,现在);目标C:有关时间和数组的问题
显示的时间比系统时间提前4小时。我想知道为什么会这样,我该如何纠正它?
Q2 ..在C/C++中,字符串被视为一个字符数组。在Objective-C中也是这样吗?
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.";
(注意@
符号)
非常感谢您的建议肖恩! – 2012-08-07 21:51:26
当然可以! (如果你觉得它有帮助,你会介意将答案标记为已接受吗?我在这里相当新,不介意代表。谢谢!) – 2012-08-10 03:01:55
当然。我刚刚发送了+ ve反馈...希望它有助于.. :-) – 2012-08-11 22:25:37
NSDate *now = [NSDate date];
NSLog(@"Current date:%@",now);
它是“现在”而不是“日期”。
感谢您的评论..我已经犯了一个错误,而在问题框中搭售。我现在纠正了我的问题。 – 2012-07-29 02:51:08
你需要考虑如何'NSDate'处理时区。看到这里:http://stackoverflow.com/questions/1268509/convert-utc-nsdate-to-local-timezone-objective-c – 2012-07-29 03:07:37