iOS 关于NSDate的一些记录
来源:互联网 发布:手机浏览器不加载js 编辑:程序博客网 时间:2024/06/03 18:58
mark UTC和GMT时间
时间用例:2015-01-11 11:11:11
1.时间戳
//现在时间NSDate *date = [NSDate date];//从1970年到date的时间间隔(秒数)double interval = date.timeIntervalSince1970;//一般我们使用的时间戳精确到毫秒long long timestamp = interval*1000;//将时间戳转换为时间NSDate *tmpDate = [NSDate dateWithTimeIntervalSince1970:timestamp/1000];
有时候可能会用到这几个
//从当前时间到date的秒数double interval1 = date.timeIntervalSinceNow;//从2001/01/01到date的秒数double interval2 = date.timeIntervalSinceReferenceDate;//两个时间之间的间隔double interval3 = [date2 timeIntervalSinceDate:date1];//间隔的天数int days=((int)interval3)/(3600*24);
2.时间格式化工具NSDateFormatter
NSDate转NSString
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//自定义想要输出的格式[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//转换成字符串NSString *dateString = [dateFormatter stringFromDate:date];
NSString转NSDate
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设置字符串显示的格式[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//转换成NSDataNSData *date = [dateFormatter dateFromString:dateString];
设置格式时主要英文字母的意义:
yy: 年的后2位 yyyy: 完整年 MM: 月 dd: 日 aa: 上午/下午,AM/PM HH: 时、24小时制 hh: 时、12小时制 mm: 分 ss: 秒 SSS: 毫秒 Z: 时区 eg:+0800
常见的日期显示格式:
2015-01-11 11:11:11 @"yyyy-MM-dd HH:mm:ss"2015-01-11T11:11:11 +0800 @"yyyy-MM-dd'T'HH:mm:ss Z"
将NSDate转换成字符串显示还可以用系统提供的两个方法:setDateStyle与setDateStyle
//NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设置显示style[dateFormatter setDateStyle:NSDateFormatterShortStyle];[dateFormatter setTimeStyle:NSDateFormatterNoStyle];NSString *dateString = [dateFormatter stringFromDate:date];
各种style下的显示形式:
//各种style下的显示形式NSDateFormatterNoStyle 1/11/15, 11:11 AMNSDateFormatterMediumStyle Jan 11, 2015, 11:11:11 AMNSDateFormatterLongStyle January 11, 2015 at 11:11:11 AM GMT+8NSDateFormatterFullStyle Sunday, January 11, 2015 at 11:11:11 AM China Standard Time
3.时区NSTimeZone
NSDate没有时区的属性,所以如果打印出date为:2015-01-11 03:11:11 +0000
NSDateFormatter是有时区属性的,所以用它转换NSDate的时候可以设置时区;
//NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//utc标准时区NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];[dateFormatter setTimeZone:timeZone];[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];NSString *dateString = [dateFormatter stringFromDate:fromdate];//输出时间为:2015-01-11 03:11:11//默认时区(本地时区/系统时区)NSTimeZone *timeZone1 = [NSTimeZone defaultTimeZone];NSTimeZone *timeZone2 = [NSTimeZone systemTimeZone];NSTimeZone *timeZone3 = [NSTimeZone localTimeZone];//输出时间为:2015-01-11 11:11:11
阅读全文
0 0
- iOS 关于NSDate的一些记录
- 关于iOS NSDate的一些用法
- iOS 关于NSDate的小结
- iOS中NSDate的一些小例子
- iOS 开发 NSDate的一些应用
- 关于iOS开发的一些记录
- iOS开发 关于iBeacon的一些记录
- iOS 关于时间的处理(NSDate)
- 关于NSDate的一些实际工作遇到的坑
- NSDate 的一些操作
- NSDate的一些方法
- 一些ios的记录
- 关于NSDate,NSDateFormatter,NSTimeZone的一些通俗理解
- 关于iOS中 NSCalendar ,NSDate
- NSDate的一些常用范例
- 一些NSDate的简单使用
- 关于sql的一些记录
- 关于hadoop的一些记录
- 同步 异步 阻塞 非阻塞 (转载)
- SELECT模型
- 网络字节序与主机字节序
- Android播放器开发基础(一)
- 服务器端编程部分概念理解(转载)
- iOS 关于NSDate的一些记录
- CreateIoCompletionPort和完成端口
- 直接通过ADO操作Access数据库(转载…
- 用C++访问SQL Server 2000
- HDU---1004 Let the Balloon Rise【vector应用】
- Does Windows have a limit of 200…
- 几个数据库基础名词解释
- _RecordsetPtr使用方法
- ArrayAdapter