iOS积累--字符串转化为NSDate, 获取当前时区的系统时间

来源:互联网 发布:新锐网络大学 编辑:程序博客网 时间:2024/05/24 02:38

“`
+ (NSDate )currentDateByPreviousDate:(NSDate )date{

// 获得系统时区NSTimeZone *zone = [NSTimeZone systemTimeZone];//得到源日期与世界标准时间的偏移量NSInteger interval = [zone secondsFromGMTForDate: date];//返回以当前NSDate对象为基准,偏移多少秒后得到的新NSDate对象NSDate *localeDate = [date dateByAddingTimeInterval: interval];return localeDate;

}“`

// 字符串转NSdate, 我们需要注意的是因为时区的问题, 会慢八个小时, 所以我需要设置成标准时间才行
+ (NSDate )dateFromString:(NSString )dateStr{

NSDateFormatter * formatter = [[NSDateFormatter alloc]init];// 注意的是下面给格式的时候,里面一定要和字符串里面的统一// 比如:   dateStr为2017-07-24 17:38:27   那么必须设置成yyyy-MM-dd HH:mm:ss, 如果你设置成yyyy--MM--dd HH:mm:ss, 那么date就是null, 这是需要注意的[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];NSDate * date = [formatter dateFromString:dateStr];return date;

}

// NSDate转字符串, 我们需要注意的是因为时区的问题, 会快八个小时, 所以我需要设置成标准时间才行
+ (NSString )stringFormDate:(NSDate )date{
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
// 下面的格式设置成你想要转化的样子, 2017-07-24 17:47:10
[formatter setDateFormat:@”yyyy-MM-dd HH:mm:ss”];
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString * dateStr = [formatter stringFromDate:date];
return dateStr;
}

阅读全文
0 0
原创粉丝点击