xcode 中nsdate 日期的一些处理方法
2012-04-14 18:23
393 查看
sqlite中存放的NSDate的时候,存放的是一个小数点后 6位的 浮点数字,表示的是 NSTimeInterval(以秒计算)
coredata存储NSDate时,在内部是存储了字参考时间以来的NSTimeInterval(以秒计算),而这个参考时间根据apple dateandtimes doc, NSDate computes time as seconds relative
to an absolute reference time: the first instant of January 1, 2001 GMT,其实参考日期是2001.1.1,而非1970年1月1日,因此有些语言在直接读取coredata
NSDate属性的sqlite Timestamp字段并转换成日期后,与原来存储的日期不一样了。
把字符串转换成NSDate
+(NSDate *)NSStringDateToNSDate:(NSString *)string {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
//#define kDEFAULT_DATE_TIME_FORMAT (@"yyyy-MM-dd HH:mm:ss'Z'")
[formatter setDateFormat:kDEFAULT_DATE_TIME_FORMAT];
NSDate *date = [formatter dateFromString:string];
[formatter release];
return date;
}
NSDate * date = [NSDate date] ; 这个语句中的 date 变量,不需要 使用 [date release]; 否则会引起内存泄露。
获取 北京时区的时间
缺省获得的时间是 +000 时区的。和北京时间 相差8个小时。
可以通过如下代码获得 北京时区的时间
把当前的时间 转换成 字符串
coredata存储NSDate时,在内部是存储了字参考时间以来的NSTimeInterval(以秒计算),而这个参考时间根据apple dateandtimes doc, NSDate computes time as seconds relative
to an absolute reference time: the first instant of January 1, 2001 GMT,其实参考日期是2001.1.1,而非1970年1月1日,因此有些语言在直接读取coredata
NSDate属性的sqlite Timestamp字段并转换成日期后,与原来存储的日期不一样了。
把字符串转换成NSDate
+(NSDate *)NSStringDateToNSDate:(NSString *)string {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
//#define kDEFAULT_DATE_TIME_FORMAT (@"yyyy-MM-dd HH:mm:ss'Z'")
[formatter setDateFormat:kDEFAULT_DATE_TIME_FORMAT];
NSDate *date = [formatter dateFromString:string];
[formatter release];
return date;
}
NSDate * date = [NSDate date] ; 这个语句中的 date 变量,不需要 使用 [date release]; 否则会引起内存泄露。
获取 北京时区的时间
缺省获得的时间是 +000 时区的。和北京时间 相差8个小时。
可以通过如下代码获得 北京时区的时间
+(NSDate *) localeDateTime { NSDate * seldate = [NSDate date]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: seldate]; NSDate * date = [seldate dateByAddingTimeInterval: interval]; return date; }
把当前的时间 转换成 字符串
+(NSString *) localDateTimeString { NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]]; [formatter setDateFormat:kDEFAULT_DATE_TIME_FORMAT]; NSDate *now = [Tools localeDateTime]; return [formatter stringFromDate: now]; }
相关文章推荐
- XCode7,打包上传的一些警告,及参考处理方法
- 时间日期的一些处理方法(code)
- xCode中工程相关的一些处理:一个工程包含多个Target的用途和使用方法【转】
- Java中日期处理的一些方法
- 处理日期时间最全的一些方法
- C#有关时间处理的一些方法,两个日期间相差的天、小时、分钟、月数等
- oracle 和MySQL 查询的时候日期的一些处理方法
- C#有关时间处理的一些方法,两个日期间相差的天、小时、分钟、月数等
- C#有关时间处理的一些方法,两个日期间相差的天、小时、分钟、月数等
- C#常用的一些日期处理方法
- python的一些日期处理方法(工具)
- C#有关时间处理的一些方法,两个日期间相差的天、小时、分钟、月数等
- C#中日期格式数据的一些处理方法(转)
- JavaScript中处理日期的一些函数和方法
- 时间日期的一些处理方法
- 分享一些日期、时间格式处理工具方法
- 今天分享一些关于日期处理Calendar类的方法
- XCode7,打包上传的一些警告,及参考处理方法
- Xcode中的一些代码警告的处理方法
- Java处理日期时间的方法汇总