0

Q1。NSDate * now = [NSDate date];
NSLog(@ "現在の日付:%@"、now);

表示されている時間は、システム時間より4時間進んでいます。なぜそうなのか、どうすれば修正できるのでしょうか。

Q2 .. C / C ++では、文字列は文字の配列として扱われます。Objective-Cにも当てはまりますか?

4

2 に答える 2

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

「日付」ではなく「今」です。

于 2012-07-29T01:24:42.827 に答える
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.";@(記号に注意してください)

于 2012-07-29T03:17:59.863 に答える