你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS開發之OC篇(10)—— NSDate

IOS開發之OC篇(10)—— NSDate

編輯:IOS開發綜合

IOS開發之OC篇(10)—— NSDate。

版本

Xcode 8.2.1

沒什麼可說的,直接上代碼吧。注意實例化日期解析器和設置它的格式。等到後面寫到UI篇的時候再提及。

int main(int argc, char * argv[]) {

    //時間戳:計算機元年(1970年1月1日)距離當前時間的總秒數
    //服務器給時間時(如截止日期),最好給時間戳,比較好處理
    //日期解析器:將日期按某種格式輸出
    //默認時區:格林威治標准時間GMT

    //獲取計算機當前的時間(GMT)
    NSDate *currentDate = [NSDate date];
    NSLog(@"格林威治標准時間GMT:%@",currentDate);

    //日期解析器
    NSDateFormatter *dateFormatter = [NSDateFormatter new];

    //設置時區
    dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"Beijing"];
//    dateFormatter.timeZone = [NSTimeZone systemTimeZone];     //與設備系統時區一致

    //設置日期格式
    dateFormatter.dateFormat = @"YYYY-MM-dd HH:mm:ss";
    //可刪掉不需要的,“-”可換成其他字符,如“:”
    dateFormatter.dateFormat = @"YYYY:MM:dd HH:mm:ss";

    //把NSDate對象轉換成字符串輸出
    NSString *dateStr = [dateFormatter stringFromDate:currentDate];
    NSLog(@"當前北京時間:%@",dateStr);

    //把字符串轉換成NSDate對象
    NSDate *distanceDate = [dateFormatter dateFromString:@"2033:03:03 15:33:33"];    //格式需與之前設置的dateFormat一樣
    if (distanceDate) {
        //轉換成功
        //計算兩個時間相差的總秒數
        NSInteger seconds = [currentDate timeIntervalSinceDate:distanceDate];
        NSLog(@"剩余%ld天%ld小時%ld分%ld秒到期",seconds/(3600*24),seconds%(3600*24)/3600,seconds%3600/60,seconds%60);
        //距離現在的時間
        NSInteger seconds1 = distanceDate.timeIntervalSinceNow;
        NSLog(@"距離現在有%ld秒",(long)seconds1);
        //距離1970年時間
        NSInteger seconds2 = distanceDate.timeIntervalSince1970;
        NSLog(@"距離1970年有%ld秒",(long)seconds2);
    }
}

我的結果:
這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved