日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

IOS日期的处理

發(fā)布時(shí)間:2024/4/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS日期的处理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、先定義一個(gè)全局變量的NSTimeInterval

@interface ViewController () {NSTimeInterval timeInterVal; } @end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];timeInterVal = 8*60*60;[self createDateObject]; }

獲取世界標(biāo)準(zhǔn)時(shí)間,比中國(guó)時(shí)間早八個(gè)小時(shí)

1 NSDate *date = [NSDate date]; 2 NSLog(@"%@",date);

?從現(xiàn)在世界標(biāo)準(zhǔn)的時(shí)間 往后推timeInterVal后的時(shí)間(如果timeInterVal是負(fù)數(shù)就是往前推)

NSDate *sinceNowDate = [NSDate dateWithTimeIntervalSinceNow:timeInterVal];NSLog(@"%@",sinceNowDate);

計(jì)算機(jī)時(shí)間1970-01-01 00:00:00 往后退timeInterVal八小時(shí)后的時(shí)間(為負(fù)數(shù)則往前)

?

NSDate *since1970 = [NSDate dateWithTimeIntervalSince1970:timeInterVal];NSLog(@"%@",since1970);

?

??從自定義的時(shí)間往后推八個(gè)小時(shí) date是自定義的時(shí)間? timeInterVal是推遲的時(shí)間

NSDate *sinceCustomDate = [NSDate dateWithTimeInterval:timeInterVal sinceDate:date];NSLog(@"%@",sinceCustomDate);

?從2001-01-01 00:00:00 開(kāi)始往后推八個(gè)小時(shí)

NSDate *since2001 = [NSDate dateWithTimeIntervalSinceReferenceDate:timeInterVal];NSLog(@"%@",since2001);

?永遠(yuǎn)不可能達(dá)到的一個(gè)時(shí)間點(diǎn)

NSDate *futureDate = [NSDate distantFuture];NSLog(@"%@",futureDate);

一個(gè)無(wú)限過(guò)去的時(shí)間點(diǎn)

NSDate *pastDate = [NSDate distantPast];NSLog(@"%@",pastDate);

二、時(shí)間差計(jì)算

從計(jì)算機(jī)時(shí)間1970-01-01 00:00:00到date日期的時(shí)間差

NSLog(@"%f",date.timeIntervalSince1970);

從計(jì)算機(jī)時(shí)間2001-01-01 00:00:00到newDate日期的時(shí)間差

NSDate *newDate = [NSDate date]; NSLog(@"%f",newDate.timeIntervalSinceReferenceDate);

從當(dāng)前時(shí)間到newDate的時(shí)間差

NSLog(@"%f",newDate.timeIntervalSinceNow);

?已知兩個(gè)時(shí)間戳? 比較兩個(gè)日期的早晚

? ?1451047216 ? ? 1451847216

NSDate *oneDate = [NSDate dateWithTimeIntervalSince1970:1451047216];NSDate *anotherDate = [NSDate dateWithTimeIntervalSince1970:1451847216];NSDate *earlyDate = [oneDate earlierDate:anotherDate];NSLog(@"較早的:%@",earlyDate);NSDate *laterDate = [oneDate laterDate:anotherDate];NSLog(@"較晚的日期:%@",laterDate);// 獲得兩個(gè)日期的時(shí)間差NSTimeInterval timer = [oneDate timeIntervalSinceDate:anotherDate];NSLog(@"%f",timer);

三、日期格式器

y? 年M? 年中的月份D? 當(dāng)天是今年的第多少天d? 月份中的天數(shù)F? 月份中的周數(shù)E? 星期幾a? Am/pmH? 一天中的小時(shí)數(shù)(0-23)k? 一天中的小時(shí)數(shù)(1-24)K? am/pm 中的小時(shí)數(shù)(0-11)? Number? 0h? am/pm 中的小時(shí)數(shù)(1-12)? Number? 12m? 小時(shí)中的分鐘數(shù)? Number? 30s? 分鐘中的秒數(shù)? Number? 55S? 毫秒數(shù)? Number? 978z? 時(shí)區(qū)? General time zone? Pacific Standard Time; PST; GMT-08:00Z? 時(shí)區(qū)? RFC 822 time zone? -0800

?

// 日期格式器NSDateFormatter *formatter = [[NSDateFormatter alloc]init];formatter.dateFormat = @"yyyy-MM-dd hh:mm:ss"; // NSString *dateString = [formatter stringFromDate:date];NSLog(@"%@",dateString);// 把字符串轉(zhuǎn)換成日期NSDate *stringDate = [formatter dateFromString:dateString];NSLog(@"%@",stringDate);

?

注意:在實(shí)際項(xiàng)目中

如果你用的時(shí)間戳是后臺(tái)給你傳過(guò)來(lái)的話,要記得核查是否該時(shí)間戳是否乘以1000。根據(jù)情況來(lái)決定是否除以1000。如果乘以過(guò)1000,表明后臺(tái)給你傳過(guò)來(lái)的是毫秒。?

?

轉(zhuǎn)載于:https://www.cnblogs.com/ios-wanglong/p/5136992.html

總結(jié)

以上是生活随笔為你收集整理的IOS日期的处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。