2011-01-20 4 views
2

こんにちはすべて 私は現在の日付を取得するために、次のコードを使用してIndia.Andです。 「2011年1月20日午前六時51分35秒0000」が、実際の時刻を表示 [NSDate date]によって返される時刻が現在の時刻と異なるのはなぜですか?

[NSDate date] 

それ

は、「2011年1月20日午前12時21分35秒0000」 しなさいはどのように得るために私に教えています現在の日付。あなたはこのpurpose.Belowのために日付フォーマッタを使用する必要があり、事前

+4

いいえ、実際の時間は2011年1月20日午前6時51分35秒0000とローカルの時間です2011-01-20 12:21:35 +0530です。あなたの現地時間はGMT –

+1

のように+0000になるでしょう。それが役に立ったら開発者が協力して助けてくれるように答えを受け入れるべきです。 – Aditya

+0

[NSDate date]はGMT0で現在の日時を返します? –

答えて

6

おかげでそのためのサンプルコードです。

NSDate *testDate=[NSDate date]; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MM DD YY hh:mm"];//You can set your required format here 
NSString *dt = [formatter stringFromDate:testDate]; 
[formatter release]; 

NSString *strDateTaken=dt; 

乾杯

+1

[NSDate date]はGMT0で現在の日付と時刻を返しますか? –

+0

フォーマッタの設定が間違っています! – iWheelBuy

3

「実際の時間」とはどういう意味ですか?あなたのタイムゾーンの現在の時間ですか?与えられた時間の値を考えると、私は最初のものがGMTであり、IST(+5:30)が欲しいと思います。 (あなたはWikipedaのTime zonesを参照してください。)あなたが現在のタイムゾーンでフォーマットされた日付と時刻だけを必要とする場合は、日付をどうしたいかによって異なります。現在の日付と指定された日付の間に現在の日付との違いを見つけるために、

+0

あなたは@ zoulあなたは右です.. – Aditya

0

...その作業コード

NSDate *testDate=[NSDate date]; 
NSDateFormatter *formatterNew = [[NSDateFormatter alloc] init]; 
[formatterNew setDateFormat:@"dd-MM-yyyy HH:mm:ss "]; 
NSString *dt = [formatterNew stringFromDate:testDate]; 
NSString *strDateTaken=dt; 
NSLog(@"Date=%@",strDateTaken); 
[formatterNew release]; // This line can be removed if you are using ARC 

NSDateFormatter *tempFormatter = [[[NSDateFormatter alloc]init]autorelease]; 
[tempFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"]; 
NSDate *toDate = [tempFormatter dateFromString:strDateTaken]; 
NSLog(@"Current Date ==%@",toDate); 

NSDateFormatter *tempFormatter1 = [[[NSDateFormatter alloc]init]autorelease]; 
[tempFormatter1 setDateFormat:@"dd-MM-yyyy HH:mm:ss"]; 
NSDate *startdate = [tempFormatter1 dateFromString:@"30-08-2011 16:25:00"]; 
NSLog(@"Last Date ==%@",startdate); 

int i = [startdate timeIntervalSince1970]; 
int j = [toDate timeIntervalSince1970]; 
double X = j-i; 
int days=(int)((double)X/(3600.0*24.00)); 


NSLog(@" Difference :%d",days); 
関連する問題