需求:有时候我们需要时间提前或者晚上几个小时,那么这个如果不想自己去计算,那么值得思考的一个问题,根据时区,无疑是最好的选择。
- 获取系统时间
// 下面获取到的是系统的GMT时间,也就是绝对时间,在同一时间,不同地区对应的时区的时间是不一样的,地理要学好啊。。。
NSDate *now = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc]init];//时间戳格式化
df.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 格式化年月日,时分秒
df.timeZone = [NSTimeZone systemTimeZone];//系统所在时区
NSString *systemTimeZoneStr = [df stringFromDate:now];
df.timeZone = [NSTimeZone defaultTimeZone];//默认时区,貌似和上一个没什么区别
NSString *defaultTimeZoneStr = [df stringFromDate:now];
df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0 * 3600];//直接指定时区
NSString *plus8TZStr = [df stringFromDate:now];
df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:-4*3600];/ /这就是GMT+0时区了
NSString *gmtTZStr = [df stringFromDate: now];
NSLog(@"Test Time\nSys:%@\nDefault:%@\n+8:%@\nGMT:%@",systemTimeZoneStr,defaultTimeZoneStr,plus8TZStr,gmtTZStr);
timeZoneForSecondsFromGMT
自定义时区主要依靠这个方法,
我们穿进去一个seconds 就可以了,如果我们提前12小时,那么对应的我们设置成-4*3600就可以了。
以上是简单时区的使用,如有错误之处,还望指正
网友评论