嗨全部 我在India.And我已經使用下面的代碼來獲取當前日期。爲什麼[NSDate date]返回的時間與我目前的時間有所不同?
[NSDate date]
它顯示「2011-01-20 6點51分35秒+0000」,但實際時間是「2011-01-20 12時21分35秒+0000」 。請告訴我怎麼去當前日期。
在此先感謝
嗨全部 我在India.And我已經使用下面的代碼來獲取當前日期。爲什麼[NSDate date]返回的時間與我目前的時間有所不同?
[NSDate date]
它顯示「2011-01-20 6點51分35秒+0000」,但實際時間是「2011-01-20 12時21分35秒+0000」 。請告訴我怎麼去當前日期。
在此先感謝
您需要使用日期格式化這個purpose.Below針對該示例代碼。
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;
乾杯
什麼是「實際時間」是什麼意思?當前時間在你的時區?考慮到時間價值,我猜測第一個是格林尼治標準時間,你想要IST(+5:30)。 (請參閱Wikipeda上的Time zones。)取決於您想要對日期做什麼 - 如果您只想在當前時區中格式化日期和時間,則Aditya的答案應該可行。
找到當前的日期和給定的日期......其工作代碼
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);
沒有,實際時間是2011-01-20六時51分35秒+0000和你本地時間的當前日期和區別2011-01-20 12:21:35 +0530。您的本地時間將會/從未/爲+0000,因爲這是GMT – 2011-01-20 07:17:01
如果有幫助,您應該接受該答案,以便鼓勵開發人員幫助開發人員... – Aditya 2011-01-20 08:47:57
我應該假設[NSDate date]以GMT0返回當前日期和時間? – 2013-06-12 09:41:14