大家好 我在India.And我使用以下代码来获取当前日期。
[NSDate date]
显示“2011-01-20 06:51:35 +0000”但实际时间为“2011-01-20 12:21:35 +0000” 请告诉我如何获取当前日期。
提前致谢
答案 0 :(得分:6)
为此需要使用Date Formatter。下面是示例代码。
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 :(得分:3)
“实际时间”是什么意思?您所在时区的当前时间?考虑到给出的时间值,我猜第一个是GMT,你想要IST(+5:30)。 (请参阅Wikipeda上的Time zones。)取决于您对日期的处理方式 - 如果您只想在当前时区中使用格式化的日期和时间,Aditya的答案应该有效。
答案 2 :(得分: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);