2012年6月22日 星期五

Time Stamp

為了方便時間的計算跟儲存,
我會將時間轉換為時間戳。
相關記錄如下:

  • 時間戳說明:
    • Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。
    • Unix時間戳不僅被使用在Unix 系統、類Unix系統中,也在許多其他操作系統中被廣泛採用。
    • 目前相當一部分操作系統使用32位二進制數字表示時間。
    • 此類系統的Unix時間戳最多可以使用到格林威治時間2038年01月19日03時14分07秒(二進制:01111111 11111111 11111111 11111111)。其后一秒,二進制數字會變為10000000 00000000 00000000 00000000,發生溢出錯誤,造成系統將時間誤解為1901年12月13日20時45分52秒。這很可能會引起軟件故障,甚至是系統癱瘓。
    • 使用64位二進制數字表示時間的系統(最多可以使用到格林威治時間292,277,026,596年12月04日15時30分08秒)則基本不會遇到這類溢出問題。
參考網頁:
http://www.haogongju.net/art/633325
轉換方式如下:
//轉換時間日期 為標籤
NSDate *temp = date;
NSTimeInterval timeInterval = [temp timeIntervalSince1970];
NSString *converFinishDStamp = [NSString stringWithFormat:@"%f",timeInterval];
return converFinishDStamp;

//轉換時間標籤 為日期
NSTimeInterval time = [stamp doubleValue];
NSDate *convertDate = [NSDate dateWithTimeIntervalSince1970:time];
    
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
[dateFormatter stringFromDate:convertDate];
return convertDate;

沒有留言:

張貼留言