Q1。NSDate * now = [NSDate date];
NSLog(@ "現在の日付:%@"、now);
表示されている時間は、システム時間より4時間進んでいます。なぜそうなのか、どうすれば修正できるのでしょうか。
Q2 .. C / C ++では、文字列は文字の配列として扱われます。Objective-Cにも当てはまりますか?
Q1。NSDate * now = [NSDate date];
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.";
@
(記号に注意してください)