1。获得当前的系统时间和日期
//获得系统时间
NSDate * senddate=[NSDate date];
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"HH:mm"];
NSString * locationString=[dateformatter stringFromDate:senddate];
//[dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
//NSString * morelocationString=[dateformatter stringFromDate:senddate];
//获得系统日期
NSCalendar * cal=[NSCalendar currentCalendar];
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:@"%4d年%2d月%2d日",year,month,day];
[dateformatter release];
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];
通过上面的代码,获得了NSDate。
3。 从GMT时间,得到本地时间
NSDate * oldDate=[dateformatter dateFromString:morelocationString];
NSTimeInterval timeZoneOffset=[[NSTimeZone systemTimeZone] secondsFromGMT];
NSDate * newDate=[oldDate dateByAddingTimeInterval:timeZoneOffset];