标签:date
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------
NSDate:用于保存时间值的一个OC类,同时提供了一些方法来处理一些与时间相关的事。NSDate对象用来表示一个具体的时间点。NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体。NSDate存储的是GMT时间,使用的时候会根据 当前应用 指定的 时区 进行时间上的增减,以供计算或显示。
//第一种创建方式(里面存储当前时间(0时区的时间--格林威治时间)) NSDate *date1 = [NSDate date]; //第二种创建方式(创建一个时间,比date1晚5秒钟) NSDate *date2 = [NSDate dateWithTimeInterval:10 sinceDate:date1]; //从1970年到date2之间 间隔的秒数 NSTimeInterval time1 = [date2 timeIntervalSince1970]; //从调用代码到现在的秒数 (NSTimeInterval == double) NSTimeInterval time2 = [date2 timeIntervalSinceNow]; NSLog(@"%lf",time2);
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//第一种创建方式(里面存储当前时间(0时区的时间--格林威治时间))
NSDate *date1 = [NSDate date];
//将NSString转换为NSDate(格式化输出)
NSDateFormatter *formate = [[NSDateFormatter alloc]init];
//MM大写表示月份 小写表示分钟,其他一律小写
formate.dateFormat = @"yy-MM-dd hh:mm:ss";
NSString *date = [formate stringFromDate:date1];
NSLog(@"%@",date);
//将NSString转换为NSDate(本Xcode存储时候,自动将设置的时间转换为格林威治时间存储)
NSString *date2 = @"1992/1/1 10:10:01";
formate.dateFormat = @"yy/MM/dd hh:mm:ss";
NSDate *date3 = [formate dateFromString:date2];
NSLog(@"%@",date3);
/************本时区与0时区的时间转换************/
//获得本时区与格林威治时间的时间差,存到time中
NSTimeInterval time = [[NSTimeZone systemTimeZone] secondsFromGMT];
// time/60.0/60.0将time存储的秒转换为小时输出
NSLog(@"时间差为:%f小时",time/60.0/60.0);
//将格林威治时间转换为本时区时间
date3 = [date3 dateByAddingTimeInterval:time];
NSLog(@"%@",date3);
}
return 0;
}JustBen开源中国—博客
isaced(时间格式化与时区之间的转换)
黑马程序员——Foundation框架常用类(NSDate)
标签:date
原文地址:http://blog.csdn.net/h302849781/article/details/45641093