//返回当前时间,精确到毫秒。
- (NSString *)getTimeNow
{
NSString* date;
NSDateFormatter * formatter = [[NSDateFormatter alloc ] init];
//[formatter setDateFormat:@"YYYY.MM.dd.hh.mm.ss"];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss:SSS"];
date = [formatter stringFromDate:[NSDate date]];
timeNow = [[NSString alloc] initWithFormat:@"%@", date];
NSLog(@"%@", timeNow);
return timeNow;
}
//获得系统时间
NSDate * senddate=[NSDate date];
NSDateFormatter *dateformatter=[[NSDateFormatteralloc] init];
[dateformatter setDateFormat:@"HH:mm"];
NSString * locationString=[dateformatter stringFromDate:senddate];
//[dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
//NSString * morelocationString=[dateformatter stringFromDate:senddate];
//获得系统日期
(1)
NSCalendar * cal=[NSCalendarcurrentCalendar];
NSUInteger unitFlags=NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit;
NSDateComponents * conponent= [cal components:unitFlags fromDate:senddate];
NSInteger year=[conponent year];
NSInteger month=[conponent month];
NSInteger day=[conponent day];
NSString * nsDateString= [NSString stringWithFormat:@"M年-月-日",year,month,day];
[dateformatter release];
(2)NSString* date;
NSDateFormatter* formatter = [[NSDateFormatteralloc]init];
[formattersetDateFormat:@"YYYY-MM-dd%20hh:mm:ss"];
date = [formatterstringFromDate:[NSDatedate]];
date 显示为 2011-11-01%2012:12:12
想实现查找几天前的时间,可以用这个方法
NSDate* date = [[NSDate alloc] init];
date = [date dateByAddingTimeInterval:-5*3600*24];//这是用现在的时间,往前面减5天,得到的时间。
2. 从字符串来获得NSDate
string strYear="1988";
string strMonth="09";
string strDay="18";
string strHour="5";
string strMinutes="18";
string strSec="20";
morelocationString=[NSString stringWithFormat:@"%s-%s-%s-%s-%s-%s",strYear.c_str(),strMonth.c_str(),
strDay.c_str(),strHour.c_str(),strMinutes.c_str(),strSec.c_str()];
//根据时间字符串获得NSDate
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
NSDate * oldDate=[dateformatter dateFromString:morelocationString];
3. 从GMT时间,得到本地时间
NSDate * oldDate=[dateformatter dateFromString:morelocationString];
NSTimeInterval timeZoneOffset=[[NSTimeZonesystemTimeZone] secondsFromGMT];
NSDate * newDate=[oldDate dateByAddingTimeInterval:timeZoneOffset];