日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日历,日期类(copy)

發布時間:2025/4/5 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日历,日期类(copy) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NSDate *date=[NSDate date];//格林尼治時間NSLog(@"%@",date);NSCalendar *calendar=[NSCalendar currentCalendar];//本地化日歷NSDateComponents *compt1= [calendar components:(NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond|NSCalendarUnitWeekOfMonth|NSCalendarUnitWeekday|NSCalendarUnitWeekdayOrdinal|NSCalendarUnitWeekOfYear|NSCalendarUnitCalendar|NSCalendarUnitTimeZone) fromDate:date];NSDate *date11 = [calendar dateFromComponents:compt1];NSLog(@"%@",date11);//總結2次輸出的結果是一樣的,所以得出結論:本地化的日歷,可以將NSDate->NSDateComponents的轉換本地化一次,同理反過來NSDateComponents->NSDate也會被還原成格林尼治時間
為了避免上面的那種效果,日歷將時間本地化次數來失效時間,可以將calendar的timezone修改成零時區

?[calender setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];//后面那參數是,通過時區來創建一個距離零時區0秒的新時區,測試過,沒問題

?

?

主要有以下類:?
NSDate -- 表示一個絕對的時間點
NSTimeZone -- 時區信息
NSLocale -- 本地化信息
NSDateComponents -- 一個封裝了具體年月日、時秒分、周、季度等的類
NSCalendar -- 日歷類,它提供了大部分的日期計算接口,并且允許您在NSDate和NSDateComponents之間轉換
NSDateFormatter -- 用來在日期和字符串之間轉換

NSDate

NSDate用來表示公歷的GMT時間(格林威治時間)。 有下面幾種初始化方法:

1. - (id)init

默認初始化,返回當前時間,也可以直接調用類方法 +(id)date

NSDate *date = [[NSDate alloc] init]; //NSDate *date = [NSDate date]; NSLog(@"print date is %@",date);

將打印出計算機當前時間:2013-03-04 08:57:20 +0000

2.?- (id)initWithTimeIntervalSinceNow:(NSTimeInterval)seconds

以當前時間的偏移秒數來初始化,也可以直接調用類方法?+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)seconds

NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:20]; //NSDate *date = [NSDate dateWithTimeIntervalSinceNow:20]; NSLog(@"print date is %@",date);

假如當前時間是2013-03-04 08:57:20 +0000,那么初始化后得到的時間是2013-03-04 08:57:40 +0000

3.?- (id)initWithTimeIntervalSince1970:(NSTimeInterval)seconds

以GMT時間的偏移秒數來初始化,也可以直接調用類方法?+ (id)dateWithTimeIntervalSince1970:(NSTimeInterval)seconds

NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:-20]; //NSDate *date = [NSDate dateWithTimeIntervalSince1970:-20]; NSLog(@"print date is %@",date);

得到的時間是格林威治時間往前20秒,將打印出:1969-12-31 23:59:40 +0000

4.?- (id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds

以2001-1-1 0:0:0的偏移秒數來初始化,也可以直接調用類方法?+ (id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds

NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:80]; //NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:80]; NSLog(@"print date is %@",date);

將打印出:2001-01-01 00:01:20 +0000

5.?- (id)initWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)refDate

以基準時間的偏移秒數來初始化,也可以直接調用類方法?+ (id)dateWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)date

NSDate *date1 = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:20]; NSLog(@"print date1 is %@",date1);NSDate *date2 = [[NSDate alloc] initWithTimeInterval:10 sinceDate:date1]; //NSDate *date2 = [NSDate dateWithTimeInterval:10 sinceDate:date1]; NSLog(@"print date2 is %@",date2);

第一個基準時間是2001-01-01 00:00:20 +0000,根據基準時間偏移10秒的結果是2001-01-01 00:00:30 +0000

6.??+ (id)distantPast?與?+ (id)distantFuture

這兩個是類方法,分別用來返回一個極早的時間點和一個極晚的時間點

NSDate *date = [NSDate distantFuture]; NSLog(@"future date is %@",date);NSDate *date2 = [NSDate distantPast]; NSLog(@"past date is %@",date2);

distantPast將返回:0001-12-30 00:00:00 +0000,distantFuture將返回:4001-01-01 00:00:00 +0000

NSDate的常用對象方法:

1. -(id)dateByAddingTimeInterval:(NSTimeInterval)seconds

返回以當前NSDate對象為基準,偏移多少秒后得到的新NSDate對象。(舊方法?- (id)addTimeInterval:(NSTimeInterval)seconds已被棄用)

NSDate *date = [NSDate dateWithTimeIntervalSince1970:0]; NSDate *date2 = [date dateByAddingTimeInterval:-20]; NSLog(@"%@",date2);

2.?- (BOOL)isEqualToDate:(NSDate *)anotherDate

將當前對象與參數傳遞的對象進行比較,根據是否相同返回BOOL值

NSDate *date = [NSDate dateWithTimeIntervalSince1970:0]; NSDate *date2 = [NSDate dateWithTimeInterval:0 sinceDate:date]; BOOL isEqual = [date isEqualToDate:date2]; NSLog(@"%i",isEqual);

3.?- (NSDate *)earlierDate:(NSDate *)anotherDate 與 - (NSDate *)laterDate:(NSDate *)anotherDate

比較兩個NSDate對象,返回較早/較晚的時間點,并以新NSDate對象的形式返回

NSDate *date = [NSDate dateWithTimeIntervalSince1970:0]; NSDate *date2 = [NSDate dateWithTimeInterval:-50 sinceDate:date];NSDate *date3 = [date earlierDate:date2]; NSLog(@"earlier date is %@",date3);NSDate *date4 = [date laterDate:date2]; NSLog(@"later date is %@",date4);

4.?- (NSComparisonResult)compare:(NSDate *)anotherDate

將當前對象與參數傳遞的對象進行比較,如果相同,返回0(NSOrderedSame);對象時間早于參數時間,返回-1(NSOrderedAscending);對象時間晚于參數時間,返回1(NSOrderedDescending)

NSDate *date = [NSDate dateWithTimeIntervalSince1970:0]; NSDate *date2 = [NSDate dateWithTimeInterval:-50 sinceDate:date];NSInteger result = [date compare:date2]; NSLog(@"%i",result);

5.?- (NSTimeInterval)timeIntervalSince1970

返回當前對象時間與1970-1-1 0:0:0的相隔秒數,也可以這樣理解:從1970-1-1 0:0:0開始,經過多少秒到達對象指定時間。

NSDate *date = [NSDate dateWithTimeIntervalSince1970:50]; NSInteger seconds = [date timeIntervalSince1970]; NSLog(@"%i",seconds);

將返回結果50

6.?- (NSTimeInterval)timeIntervalSinceReferenceDate

返回當前對象時間與2001-1-1 0:0:0的相隔秒數,也可以這樣理解:從2001-1-1 0:0:0開始,經過多少秒到達對象指定時間。

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:-30]; NSInteger seconds = [date timeIntervalSinceReferenceDate]; NSLog(@"%i",seconds);

將返回結果-30,負數代表從2001-1-1 0:0:0開始,倒退30秒到達當前時間。

7.?- (NSTimeInterval)timeIntervalSinceNow

返回當前對象時間與客戶端時間的相隔秒數,也可以這樣理解:從客戶端當前時間開始,經過多少秒到達對象指定時間。

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:100]; NSInteger seconds = [date timeIntervalSinceNow]; NSLog(@"%i",seconds);

經測試返回了結果99,但初始化時提供的參數是100。這可能是因為第一句初始化代碼到第二句計算代碼之間有個1秒內的延時,所以計算時的客戶端時間比初始化時的客戶端時間快了1秒。

8.?- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate

返回當前對象時間與參數傳遞的對象時間的相隔秒數,也可以這樣理解:從參數時間開始,經過多少秒到達對象執行時間。

NSDate *date = [NSDate dateWithTimeIntervalSince1970:0]; NSDate *date2 = [NSDate dateWithTimeInterval:50 sinceDate:date]; NSInteger seconds = [date timeIntervalSinceDate:date2]; NSLog(@"%i",seconds);

將返回結果-50,date為1970-1-1 0:0:0,date2為1970-1-1 0:0:50,從date2的時間開始,倒退50秒到達date的時間。

NSTimeZone

NSTimeZone表示時區信息。 有下面幾種初始化方法:

1.?+ (id)timeZoneWithName:(NSString *)aTimeZoneName / - (id)initWithName:(NSString *)aName

根據時區名稱初始化??梢哉{用NSTimeZone的類方法?+ (NSArray *)knownTimeZoneNames來返回所有已知的時區名稱。

NSTimeZone *zone = [[NSTimeZone alloc] initWithName:@"America/Chicago"]; //NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"America/Chicago"]; NSLog(@"%@",zone);

打印出:America/Chicago (CST) offset -21600

2.?+ (id)timeZoneWithAbbreviation:(NSString *)abbreviation

根據時區縮寫初始化。例如:EST(美國東部標準時間)、HKT(香港標準時間)

NSTimeZone *zone = [NSTimeZone timeZoneWithAbbreviation:@"EST"]; NSLog(@"%@",zone);

打印出:Asia/Hong_Kong (HKT) offset 28800

3.?+ (NSTimeZone *)systemTimeZone

返回系統時區

NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSLog(@"%@",zone);

假如時區是上海,打印出的時區信息將會是:Asia/Shanghai (CST (China)) offset 28800,28800代表相對于GMT時間偏移的秒數,即8個小時。(8*60*60)

4.?+ (NSTimeZone *)localTimeZone

返回本地時區,與systemTimeZone的區別在于:本地時區可以被修改,而系統時區不能修改。

[NSTimeZone setDefaultTimeZone:[[NSTimeZone alloc] initWithName:@"America/Chicago"]];NSTimeZone *systemZone = [NSTimeZone systemTimeZone]; NSTimeZone *localZone = [NSTimeZone localTimeZone];NSLog(@"%@",systemZone); NSLog(@"%@",localZone);

打印出的系統時區仍然是:Asia/Shanghai (CST (China)) offset 28800;而本地時區經過修改后,變成了:Local Time Zone (America/Chicago (CST) offset -21600)

5.?+ (id)timeZoneForSecondsFromGMT:(NSInteger)seconds

根據零時區的秒數偏移返回一個新時區對象

NSTimeZone *zone = [NSTimeZone timeZoneForSecondsFromGMT:28800]; NSLog(@"%@",zone);

打印出:GMT+0800 (GMT+08:00) offset 28800

NSTimeZone常用對象方法與類方法:

1.?+ (NSArray *)knownTimeZoneNames

以數組的形式返回所有已知的時區名稱

NSArray *zoneArray = [NSTimeZone knownTimeZoneNames]; for(NSString *str in zoneArray) {NSLog(@"%@",str); }

2.?- (NSString *)name / - (NSString *)abbreviation

返回時區對象的名稱或縮寫

NSTimeZone *zone = [NSTimeZone localTimeZone]; NSString *strZoneName = [zone name]; NSString *strZoneAbbreviation = [zone abbreviation]; NSLog(@"name is %@",strZoneName); NSLog(@"abbreviation is %@",strZoneAbbreviation);

name is Asia/Hong_Kong

abbreviation is HKT

3.?- (NSInteger)secondsFromGMT

得到當前時區與零時區的間隔秒數

NSTimeZone *zone = [NSTimeZone localTimeZone]; int seconds = [zone secondsFromGMT]; NSLog(@"%i",seconds);

NSLoale

NSLoale類返回本地化信息,主要體現在"語言"和"區域格式"這兩個設置項。有下面幾種初始化方法:

1.?+ (id)systemLocale

返回系統初始本地化信息

NSLocale *locale = [NSLocale systemLocale]; NSLog(@"%@",[[locale objectForKey:NSLocaleCalendar] calendarIdentifier]);

2.?+ (id)currentLocale / + (id)autoupdatingCurrentLocale

這兩個類方法都將返回當前客戶端的本地化信息,區別在于:currentLocale取得的值會一直保持在cache中,第一次用此方法實例化對象后,即使修改了本地化設定,這個對象也不會改變。而使用autoupdatingCurrentLocale,當每次修改本地化設定,其實例化的對象也會隨之改變。

下面的代碼演示了區別所在,假設初始本地化信息為en_US,先用這兩個函數分別初始化兩個對象,然后修改本地化設定語言為臺灣繁體中文,再重新打印這兩個對象的信息:

NSLocale *locale1; NSLocale *locale2;- (IBAction)doTest:(id)sender {locale1 = [NSLocale currentLocale];locale2 = [NSLocale autoupdatingCurrentLocale];NSLog(@"%@",locale1.localeIdentifier); //print "en_US"NSLog(@"%@",locale2.localeIdentifier); //print "en_US" }- (IBAction)doAgain:(id)sender {NSLog(@"%@",locale1.localeIdentifier); //print "en_US"NSLog(@"%@",locale2.localeIdentifier); //print "zh_TW" }

3.?- (id)initWithLocaleIdentifier:(NSString *)string

用標示符初始化本地化信息

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]; NSString *strSymbol = [locale objectForKey:NSLocaleCurrencySymbol]; NSLog(@"%@",strSymbol);

代碼用"zh_CN"來初始化對象,然后再打印出對象的貨幣符號,得到的結果是人民幣符號¥

NSLoale常用對象方法與類方法:

1.?- (id)objectForKey:(id)key

根據不同的key返回各種本地化信息,例如下面的代碼返回了當前貨幣符號:

NSLocale *locale = [NSLocale currentLocale]; NSString *strSymbol = [locale objectForKey:NSLocaleCurrencySymbol]; NSCalendar *calendar = [[NSLocale currentLocale] objectForKey:NSLocaleCalendar];

2.?- (NSString *)displayNameForKey:(id)key value:(id)value

顯示特定地區代號下相應鍵的顯示名稱:

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]; NSString *str = [locale displayNameForKey:NSLocaleIdentifier value:@"en_US"]; NSLog(@"%@",str);

第一句代碼代表以中文來實例化對象,然后得到"en_US"的NSLocaleIdentifier鍵的顯示名稱。最后輸出的結果是"英文(美國)"

NSDateComponents

NSDateComponents封裝了具體年月日、時秒分、周、季度等

NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setEra:1]; [compt setYear:2013]; [compt setMonth:3]; [compt setDay:15]; [compt setHour:11]; [compt setMinute:20]; [compt setSecond:55]; [compt setQuarter:2]; [compt setTimeZone:[NSTimeZone systemTimeZone]]; [compt setWeek:3]; [compt setWeekday:4]; [compt setWeekOfMonth:3]; [compt setWeekOfYear:2]; [compt setCalendar:[NSCalendar currentCalendar]];

NSDateComponents相關方法:

1. NSCalendar對象的?- (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)date

取得一個NSDate對象的1個或多個部分,用NSDateComponents來封裝

NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [NSDate date]; //NSDateComponents *compt = [calendar components:NSDayCalendarUnit fromDate:date]; NSDateComponents *compt = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:date];NSLog(@"%d,%@",[compt year],date); NSLog(@"%d,%@",[compt month],date); NSLog(@"%d,%@",[compt day],date);

需要注意的是,只有明確指定了unitFlags,NSDateComponents相應的那一部分才有值。

2. NSCalendar對象的?- (NSDateComponents?*)components:(NSUInteger)unitFlags fromDate:(NSDate?*)startingDate toDate:(NSDate?*)resultDate options : (NSUInteger)opts

取得兩個NSDate對象的時間間隔,用NSDateComponents來封裝

NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [NSDate date]; NSDate *date2 = [NSDate dateWithTimeInterval:5*60*60+75 sinceDate:date]; NSDateComponents *compt = [calendar components:(NSMinuteCalendarUnit|NSSecondCalendarUnit) fromDate:date toDate:date2 options:0];NSLog(@"%d",[compt minute]); NSLog(@"%d",[compt second]);

有幾點需要注意:

① 得到的NSDateComponents對象可能會包含負數。例如:當toDate比fromDate晚10秒,second部分返回10;當toDate比fromDate早10秒,second部分返回-10

② 當指定unitFlags返回多個部分時,相隔的時間由多個部分共同組成(而不是獨立去表示)。例如:上面的例子時間相差5小時1分15秒,如果指定只返回second部分,將得到18075秒;如果指定返回minute和second部分,將得到301分15秒;如果指定返回hour、minute和second,將得到5小時1分15秒。

3. NSCalendar對象的?- (NSDate?*)dateFromComponents:(NSDateComponents?*)comps

根據NSDateComponents對象得到一個NSDate對象

NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setYear:2012]; [compt setMonth:5]; [compt setDay:11];NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [calendar dateFromComponents:compt]; //得到本地時間,避免時區問題 NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate:date]; NSDate *localeDate = [date dateByAddingTimeInterval:interval];NSLog(@"%@",localeDate);

4. NSCalendar對象的?- (NSDate?*)dateByAddingComponents:(NSDateComponents?*)comps toDate:(NSDate?*)date options:(NSUInteger)opts

在參數date基礎上,增加一個NSDateComponents類型的時間增量

NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setDay:25]; [compt setHour:4]; [compt setMinute:66];NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [calendar dateByAddingComponents:compt toDate:[NSDate date] options:0];//得到本地時間,避免時區問題 NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate:date]; NSDate *localeDate = [date dateByAddingTimeInterval:interval];NSLog(@"%@",localeDate);

當前時間的基礎上,增加25天4小時66秒

NSCalendar

1.?+ (id)currentCalendar / + (id)autoupdatingCurrentCalendar

這兩個類方法都將返回當前客戶端的邏輯日歷,區別在于:currentCalendar取得的值會一直保持在cache中,第一次用此方法實例化對象后,即使修改了系統日歷設定,這個對象也不會改變。而使用autoupdatingCurrentCalendar,當每次修改系統日歷設定,其實例化的對象也會隨之改變。

下面的代碼演示了區別所在,假設初始Calendar設定為NSGregorianCalendar(公歷),先用這兩個函數分別初始化兩個對象,然后修改系統日歷為NSJapaneseCalendar(日本和歷),再重新打印這兩個對象的信息:

NSCalendar *calendar; NSCalendar *calendar2;- (IBAction)doTest:(id)sender {calendar = [NSCalendar currentCalendar];calendar2 = [NSCalendar autoupdatingCurrentCalendar];NSLog(@"%@",calendar.calendarIdentifier); //print "gregorian"NSLog(@"%@",calendar2.calendarIdentifier); //print "gregorian" }- (IBAction)doAgain:(id)sender {NSLog(@"%@",calendar.calendarIdentifier); //print "gregorian"NSLog(@"%@",calendar2.calendarIdentifier); //print "japanese" }

2.?- (id)initWithCalendarIdentifier:(NSString *)string

根據提供的日歷標示符初始化

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSChineseCalendar]; NSLog(@"%@",calendar.calendarIdentifier);

系統中定義的日歷有:

NSGregorianCalendar -- 公歷
NSBuddhistCalendar -- 佛教日歷
NSChineseCalendar -- 中國農歷
NSHebrewCalendar -- 希伯來日歷
NSIslamicCalendar -- 伊斯蘭歷
NSIslamicCivilCalendar -- 伊斯蘭教日歷
NSJapaneseCalendar -- 日本日歷
NSRepublicOfChinaCalendar -- 中華民國日歷(臺灣)
NSPersianCalendar -- 波斯歷
NSIndianCalendar -- 印度日歷
NSISO8601Calendar -- ISO8601

NSCalendar常用對象方法與類方法:

1.?- (void)setLocale:(NSLocale *)locale

設置本地化信息

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; [calendar setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]]; NSLog(@"%@",calendar.locale.localeIdentifier);

2.?- (void)setTimeZone:(NSTimeZone *)tz

設置時區信息

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; [calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"HKT"]]; NSLog(@"%@",calendar.timeZone);

3.?- (void)setFirstWeekday:(NSUInteger)weekday

設置每周的第一天從星期幾開始,比如:1代表星期日開始,2代表星期一開始,以此類推。默認值是1

如圖所示,如果從星期天開始,日歷的表現形式:

?

如果從星期二開始,日歷的表現形式:

NSCalendar *calendar = [NSCalendar currentCalendar]; [calendar setFirstWeekday:3]; NSLog(@"%i",calendar.firstWeekday);

4.?- (void)setMinimumDaysInFirstWeek:(NSUInteger)mdw

設置每年及每月第一周必須包含的最少天數,比如:設定第一周最少包括3天,則value傳入3

NSCalendar *calendar = [NSCalendar currentCalendar]; [calendar setMinimumDaysInFirstWeek:3]; NSLog(@"%i",calendar.minimumDaysInFirstWeek);

5.?- (NSUInteger)ordinalityOfUnit:(NSCalendarUnit)smaller inUnit:(NSCalendarUnit)larger forDate:(NSDate *)date

獲取一個小的單位在一個大的單位里面的序數

NSCalendarUnit包含的值有:

NSEraCalendarUnit -- 紀元單位。對于NSGregorianCalendar(公歷)來說,只有公元前(BC)和公元(AD);而對于其它歷法可能有很多,例如日本和歷是以每一代君王統治來做計算。
NSYearCalendarUnit -- 年單位。值很大,相當于經歷了多少年,未來多少年。
NSMonthCalendarUnit -- 月單位。范圍為1-12
NSDayCalendarUnit -- 天單位。范圍為1-31
NSHourCalendarUnit -- 小時單位。范圍為0-24
NSMinuteCalendarUnit -- 分鐘單位。范圍為0-60
NSSecondCalendarUnit -- 秒單位。范圍為0-60
NSWeekCalendarUnit -- 周單位。范圍為1-53
NSWeekdayCalendarUnit -- 星期單位,每周的7天。范圍為1-7
NSWeekdayOrdinalCalendarUnit -- 沒完全搞清楚
NSQuarterCalendarUnit -- 幾刻鐘,也就是15分鐘。范圍為1-4
NSWeekOfMonthCalendarUnit -- 月包含的周數。最多為6個周
NSWeekOfYearCalendarUnit -- 年包含的周數。最多為53個周
NSYearForWeekOfYearCalendarUnit -- 沒完全搞清楚
NSTimeZoneCalendarUnit -- 沒完全搞清楚

下面是一些示例:

① 當小單位為NSWeekdayCalendarUnit,大單位為NSWeekCalendarUnit時(即某個日期在這一周是第幾天),根據firstWeekday屬性不同,返回的結果也不同。

NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:10]; //[calendar setFirstWeekday:2]; int count = [calendar ordinalityOfUnit:NSWeekdayCalendarUnit inUnit:NSWeekCalendarUnit forDate:date]; NSLog(@"%d",count);

默認firstWeekday為1(星期天開始)的情況下,得到的結果是2,從下圖可以看到是第2天。

假如firstWeekday被設置為2(星期一開始)的情況下,得到的結果是1,從下圖可以看到是第1天

② 當小單位為NSWeekCalendarUnit,大單位為NSYearCalendarUnit時(即某個日期在這一年中是第幾周),根據minimumDaysInFirstWeek屬性不同,返回的結果也不同。

NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setYear:2013]; [compt setMonth:1]; [compt setDay:20];NSCalendar *calendar = [NSCalendar currentCalendar];NSDate *date = [calendar dateFromComponents:compt];//[calendar setMinimumDaysInFirstWeek:6]; int count = [calendar ordinalityOfUnit:NSWeekCalendarUnit inUnit:NSYearCalendarUnit forDate:date]; NSLog(@"%d",count);

從上圖的日歷中可以看出,在沒有設置minimumDaysInFirstWeek的情況下,1月20日得到的結果是4(第四個周)。

默認情況下第一個周有5天,如果將minimumDaysInFirstWeek設置為6天,則原本是第一周的1月1日--1月5日被劃分到了上一年,返回0;而1月6日--1月12日升為第一周,1月13日--1月19日升為第二周。。依此類推。

所以需要關注的是minimumDaysInFirstWeek與實際第一周包含天數的大小比較,如果提供的minimumDaysInFirstWeek比實際第一周的天數小,則一切不變;否則統計"一年中第幾周"、"一個月中第幾周"會產生變化。

6.?- (NSRange)rangeOfUnit:(NSCalendarUnit)smaller inUnit:(NSCalendarUnit)larger forDate:(NSDate *)date

根據參數提供的時間點,得到一個小的單位在一個大的單位里面的取值范圍

NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setYear:2013]; [compt setMonth:2]; [compt setDay:21]; [compt setHour:9]; [compt setMinute:45]; [compt setSecond:30];NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [calendar dateFromComponents:compt];//得到本地時間,避免時區問題 NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate:date]; NSDate *localeDate = [date dateByAddingTimeInterval:interval];NSRange range = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSYearCalendarUnit forDate:localeDate];NSLog(@"%d -- %d",range.location,range.length);

調用這個方法要明確一點,取得的是"范圍"而不是"包含",下面是一些例子:

① 小單位是NSDayCalendarUnit,大單位是NSYearCalendarUnit,并不是要取這一年包含多少天,而是要取"天"(Day)這個單位在這一年(Year)的取值范圍。其實不管你提供的日期是多少,返回的值都是"1--31"。

② 小單位是NSDayCalendarUnit,大單位是NSMonthCalendarUnit。要取得參數時間點所對應的月份下,"天"(Day)的取值范圍。根據參數時間的月份不同,值也不同。例如2月是1--28、3月是1--31、4月是1--30。

③ 小單位是NSWeekCalendarUnit,大單位是NSMonthCalendarUnit。要取得參數時間點所對應的月份下,"周"(Week)的取值范圍。需要注意的是結果會受到minimumDaysInFirstWeek屬性的影響。在默認minimumDaysInFirstWeek情況下,取得的范圍值一般是"1--5",從日歷上可以看出來這個月包含5排,即5個周。

④ 小單位是NSDayCalendarUnit,大單位是NSWeekCalendarUnit。要取得周所包含的"天"(Day)的取值范圍。下面是一個示例日歷圖:

在上圖的日期條件下,假如提供的參數是4月1日--4月6日,那么對應的week就是1(第一個周),可以看到第一個周包含有6天,從1號開始,那么最終得到的范圍值為1--6。

假如提供的參數是4月18日,那么對應的week是3(第三個周),第三個周包含有7天,從14號開始,那么最終得到的范圍值是14--7。

假如提供的參數是4月30日,那么對應的week是5(第五個周),第五個周只包含3天,從28號開始,那么最終得到的范圍值是28--3。

7.?- (BOOL)rangeOfUnit:(NSCalendarUnit)unit startDate:(NSDate **)datep interval:(NSTimeInterval *)tip forDate:(NSDate *)date

根據參數提供的時間點,返回所在日歷單位的開始時間。如果startDate和interval均可以計算,則返回YES;否則返回NO

unit -- 日歷單位
datep -- 開始時間,通過參數返回
tip -- 日歷單位所對應的秒數,通過參數返回
date -- 時間點參數

NSDate *dateOut = nil; NSTimeInterval count = 0;NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setYear:2013]; [compt setMonth:3]; [compt setDay:22];NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *date = [calendar dateFromComponents:compt]; BOOL b = [calendar rangeOfUnit:NSMonthCalendarUnit startDate:&dateOut interval:&count forDate:date]; if(b) {//得到本地時間,避免時區問題NSTimeZone *zone = [NSTimeZone systemTimeZone];NSInteger interval = [zone secondsFromGMTForDate:dateOut];NSDate *localeDate = [dateOut dateByAddingTimeInterval:interval];NSLog(@"%@",localeDate);NSLog(@"%f",count); } else {NSLog(@"無法計算"); }

上面的例子要求返回2013年3月22日當月的起始時間,以及當月的秒數。得到的結果是:2013-03-01 00:00:00 +0000,2678400。(2678400 = 31天 * 24小時 * 60分 * 60秒)。

假如將上面的日歷單位改為NSWeekCalendarUnit,那么得到的結果是:2013-03-17 00:00:00 +0000,604800。當周的第一天是3月17日。(604800 = 7天 * 24小時 * 60分 * 60秒)。

假如將上面的日歷單位改為NSYearCalendarUnit,那么得到的結果是:2013-01-01 00:00:00 +0000,31536000。這一年的第一天是1月1日,(31536000?=365天 * 24小時 * 60分 * 60秒)。

NSDateFormatter

NSDateFormatter的日期格式如下:

G -- 紀元 一般會顯示公元前(BC)和公元(AD)y -- 年 假如是2013年,那么yyyy=2013,yy=13 ?M -- 月 假如是3月,那么M=3,MM=03,MMM=Mar,MMMM=March 假如是11月,那么M=11,MM=11,MMM=Nov,MMMM=Novemberw -- 年包含的周 假如是1月8日,那么w=2(這一年的第二個周)W -- 月份包含的周(與日歷排列有關) 假如是2013年4月21日,那么W=4(這個月的第四個周)F -- 月份包含的周(與日歷排列無關) 和上面的W不一樣,F只是單純以7天為一個單位來統計周,例如7號一定是第一個周,15號一定是第三個周,與日歷排列無關。D -- 年包含的天數 假如是1月20日,那么D=20(這一年的第20天) 假如是2月25日,那么D=31+25=56(這一年的第56天)d -- 月份包含的天數 假如是5號,那么d=5,dd=05 假如是15號,那么d=15,dd=15E -- 星期? 假如是星期五,那么E=Fri,EEEE=Fridaya -- 上午(AM)/下午(PM)H -- 24小時制,顯示為0--23 假如是午夜00:40,那么H=0:40,HH=00:40h -- 12小時制,顯示為1--12 假如是午夜00:40,那么h=12:40K -- 12小時制,顯示為0--11 假如是午夜00:40,那么K=0:40,KK=00:40k -- 24小時制,顯示為1--24 假如是午夜00:40,那么k=24:40m -- 分鐘 假如是5分鐘,那么m=5,mm=05 假如是45分鐘,那么m=45,mm=45s -- 秒 假如是5秒鐘,那么s=5,ss=05 假如是45秒鐘,那么s=45,ss=45S -- 毫秒 一般用SSS來顯示z -- 時區 表現形式為GMT+08:00Z -- 時區 表現形式為+0800

NSDateFormatter的兩個最實用的方法是dateFromString和stringFromDate,前者將一個字符串經過格式化后變成NSDate對象,后者將NSDate對象格式化成字符串。

在調用setDateFormat設置格式化字符串時,可以加入一些別的字符串,用單引號來引入,例如:

[formatter setDateFormat:@"yyyy-MM-dd 'some ''special'' string' HH:mm:ss"];

使用NSDateFormatter轉換時間字符串時,默認的時區是系統時區,例如在中國一般都是北京時間(+8),如果直接轉換會導致結果相差8小時,所以一般的做法是先指定時區為GMT標準時間再轉換,例如:

?

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];NSDateComponents *compt = [[NSDateComponents alloc] init]; [compt setYear:2013]; [compt setMonth:3]; [compt setDay:13]; [compt setHour:1]; [compt setMinute:55]; [compt setSecond:28];NSCalendar *calendar = [NSCalendar currentCalendar]; [calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; NSDate *date = [calendar dateFromComponents:compt]; NSLog(@"%@",date); NSString *str = [formatter stringFromDate:date]; NSLog(@"%@",str);

?

轉載于:https://www.cnblogs.com/liyang31tg/p/4115830.html

總結

以上是生活随笔為你收集整理的日历,日期类(copy)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲 综合 精品 | 国产原创中文在线 | 日韩中文字幕网站 | 中文字幕麻豆 | 中文字幕在线观看一区二区三区 | 精品久久中文 | 爱色av.com| 99r国产精品 | 91av国产视频| 色99久久 | 欧美一级小视频 | 日韩高清免费电影 | 91免费观看 | 天天射,天天干 | 超碰com| 亚洲国产小视频在线观看 | 久久99爱视频 | 69精品久久 | 国产精品18久久久久久首页狼 | 天天做日日爱夜夜爽 | 日韩在线不卡av | 国产色视频网站2 | 黄色av电影 | 四川妇女搡bbbb搡bbbb搡 | 午夜av一区二区三区 | 色av色av色av | 黄色毛片视频 | 成 人 a v天堂 | 超碰国产在线观看 | 中文字幕欧美日韩va免费视频 | 久久久久国产精品厨房 | 国产69精品久久99不卡的观看体验 | 精品在线视频一区二区三区 | 久久99精品久久久久久秒播蜜臀 | 69视频网站 | 女人久久久久 | 九七视频在线 | 亚洲综合色网站 | 国产精品爽爽久久久久久蜜臀 | 蜜臀av免费一区二区三区 | 四虎小视频 | 久久国产精品一区二区三区四区 | 国产成人在线网站 | 在线观看成人小视频 | 国产a网站 | 免费高清看电视网站 | 久久人人射 | 天天干天天怕 | 日韩乱理 | 久久噜噜少妇网站 | 99亚洲精品视频 | 国产精品一区二区三区久久久 | 欧美成a人片在线观看久 | 欧美午夜剧场 | 亚洲欧美日韩国产一区二区 | 亚洲一区网 | 色a网| 亚洲专区路线二 | 亚洲国产三级在线 | 国产69久久久欧美一级 | 91自拍91 | 五月婷婷在线观看 | 国产拍揄自揄精品视频麻豆 | 97成人超碰 | 久久久久久久久福利 | 精品国产三级 | 色网站中文字幕 | 天天干天天插伊人网 | 天天插天天干天天操 | 欧美日韩中文字幕综合视频 | 在线黄色免费av | 字幕网av| 亚洲精品午夜久久久久久久久久久 | 狠狠色丁香久久婷婷综合_中 | 91免费观看网站 | 91tv国产成人福利 | 欧美日韩亚洲第一页 | 91秒拍国产福利一区 | 日韩激情在线视频 | 夜夜躁日日躁狠狠久久av | 六月丁香伊人 | 国产午夜一区二区 | 国产又黄又爽又猛视频日本 | 亚洲视频www | 久久艹精品 | 亚洲精品中文字幕视频 | 欧美精品久久 | 中文字幕亚洲精品日韩 | 国产亚洲在线 | 黄色特级毛片 | 国产手机av| 欧美激情综合五月色丁香小说 | 日韩av中文字幕在线免费观看 | 又爽又黄又无遮挡网站动态图 | 免费v片| 九九热免费在线视频 | 91女神的呻吟细腰翘臀美女 | 2019av在线视频 | 久久 精品一区 | 福利av在线| 国产精品99久久久久久久久久久久 | 亚洲国产精品免费 | 色就干| 一区中文字幕电影 | 激情深爱 | 亚洲欧美日韩中文在线 | 操操操夜夜操 | 中文字幕国产一区 | 中文字幕亚洲情99在线 | 欧美一区二区三区特黄 | 久久99精品久久久久久清纯直播 | 亚洲一区精品人人爽人人躁 | 亚洲精品成人av在线 | 亚洲视频免费视频 | 国产在线观看中文字幕 | 天天天天天天天天操 | 特级毛片aaa| 国产中文字幕91 | 久久九九国产精品 | 国产精品不卡在线播放 | 国产精品正在播放 | 在线探花| 国产高清黄色 | 亚洲成人黄色网址 | 国产一区视频导航 | 蜜桃麻豆www久久囤产精品 | av一本久道久久波多野结衣 | 国外成人在线视频网站 | 中文字幕国产精品一区二区 | 天天色天 | 久久免费国产精品 | 日韩免费电影在线观看 | 国产亚洲精品av | 99热99热 | 欧美激情精品久久久久久免费印度 | 黄色片软件网站 | 高清精品久久 | 天堂av在线免费 | 麻豆影视在线播放 | 国产福利一区二区在线 | 激情一区二区三区欧美 | 日韩精品中文字幕在线 | 中文字幕日韩有码 | 国产成人三级在线播放 | 中文字幕丝袜 | 免费合欢视频成人app | 亚洲激情在线 | 一区二区三区日韩视频在线观看 | www99久久| 久操综合 | 国产视频一区二区在线观看 | 丁香六月在线观看 | 国产黄色视 | 久久久久福利视频 | 久久久国产精品亚洲一区 | 成年人黄色免费看 | 国产综合91| 国产香蕉97碰碰久久人人 | 日本在线精品视频 | 久久成人免费 | www.午夜色.com | 国产精品毛片久久久久久 | 7799av| 麻豆视频成人 | 日p视频 | 亚洲aⅴ久久精品 | 欧美性色综合 | 国产精久久久久久妇女av | 精品亚洲国产视频 | 国产日韩欧美自拍 | 中文字幕在线视频一区二区三区 | 久久国产精品精品国产色婷婷 | 蜜臀久久99精品久久久无需会员 | 国产色久 | 久久九精品 | 免费看黄在线看 | 日韩av看片| 五月天六月婷 | 国产中文伊人 | 国产精品国产自产拍高清av | 亚洲网站在线 | 日韩在线视频网站 | 99re国产视频 | 久草久视频 | 国产免费激情久久 | 精品一区二区电影 | 国产精品一区免费观看 | 香蕉视频国产在线观看 | 国产精品一区二区美女视频免费看 | 丁香花在线视频观看免费 | 99视频在线精品国自产拍免费观看 | 天天插伊人 | 久久不卡国产精品一区二区 | 免费网站v | 永久免费视频国产 | 视频一区在线免费观看 | 狠狠做深爱婷婷综合一区 | 国产在线观看,日本 | 精品少妇一区二区三区在线 | 奇米网网址 | 91女神的呻吟细腰翘臀美女 | 国产又粗又猛又黄视频 | 亚洲精品久久激情国产片 | 亚州性色 | 久久在线播放 | 亚洲免费成人 | 玖玖国产精品视频 | 处女av在线 | 亚洲精品中文字幕在线观看 | 免费国产亚洲视频 | 欧美成年人在线观看 | 国产一区二区在线播放 | 色婷婷99 | 黄色动态图xx | 丁香五月亚洲综合在线 | 97偷拍视频| 天天射天 | 亚洲精品在线一区二区 | 探花视频在线观看免费 | 亚洲最新av | 久久精品婷婷 | 欧美极品一区二区三区 | 久久97视频| 日本在线视频网址 | 成人av资源网 | 国产成人高清av | 色视频国产直接看 | 日韩av片无码一区二区不卡电影 | 久久香蕉电影 | 久久影院午夜论 | 久久久久国产成人免费精品免费 | 国产精品一区二区三区在线 | 欧美日韩啪啪 | 在线免费观看视频一区二区三区 | 成人黄大片视频在线观看 | 国产不卡一二三区 | 久久午夜精品 | 国产伦理一区 | 日本h视频在线观看 | 中文字幕亚洲国产 | 免费av高清 | 五月婷婷久久综合 | 97免费在线观看 | 四虎成人精品永久免费av | 亚洲精品在线视频播放 | 亚洲美女精品视频 | 国产美女精品视频免费观看 | 色婷婷视频在线观看 | 国产在线视频资源 | 日韩视频一二三区 | 日韩视频www| 伊人天天色 | 亚洲国产精品久久久久久 | 永久免费视频国产 | 久久精品一区二区国产 | av大片免费 | 中文字幕2021 | 国产亚洲va综合人人澡精品 | 国产在线观看地址 | 日韩精品在线免费观看 | 午夜精品久久久 | 色干综合 | 麻豆传媒视频在线免费观看 | 免费视频一区 | 日韩欧美视频在线免费观看 | 欧美激情精品 | 黄色三级视频片 | 久久精品久久综合 | 夜夜操天天摸 | 亚洲精品久久久久久国 | 最近最新中文字幕视频 | 天天爱天天操天天爽 | 精品久久久久久综合日本 | 婷婷在线看 | 国产一区二区视频在线 | 精品1区2区 | 韩日电影在线观看 | 在线 高清 中文字幕 | 久久99精品久久久久久三级 | 成人a免费看| 久久久久久久网站 | 色婷婷综合久久久中文字幕 | 四虎影视国产精品免费久久 | 久久不见久久见免费影院 | 日韩免费网站 | 欧美激情在线看 | 国产午夜在线观看视频 | 国产日本三级 | 中文字幕精品一区久久久久 | 精品国产乱子伦一区二区 | 人人添人人 | 免费在线日韩 | 国际精品久久久久 | 不卡av电影在线 | 一区二区三区在线免费 | 久草在线资源观看 | 精品特级毛片 | 久久精品久久国产 | 亚洲最大成人免费网站 | 国产高潮久久 | 91av九色| 久久撸在线视频 | 麻豆一区二区三区视频 | 国产网站在线免费观看 | 成人黄性视频 | 久草在线电影网 | 精品一区二区影视 | 97超碰国产在线 | 九九热精品视频在线播放 | 成片免费观看视频大全 | 久久久精品午夜 | 欧美日韩在线网站 | av免费看av| av免费观看网址 | 国产亚洲视频在线观看 | 久久久久久久久毛片精品 | 日韩一区二区三区视频在线 | 一区二区不卡视频在线观看 | 超碰人人在 | 国产97碰免费视频 | 天天色天天色天天色 | 国产精品久久久久久久久久久久午 | av在线播放中文字幕 | 99精品偷拍视频一区二区三区 | 久久99久国产精品黄毛片入口 | 亚洲黄色小说网址 | 成年人毛片在线观看 | 亚洲国产中文字幕 | 婷婷天天色 | 亚洲一区二区三区miaa149 | 91精品国产麻豆 | 精品国产激情 | 欧美一二三区在线观看 | 国产精品video | 狠狠躁夜夜躁人人爽视频 | 久久免费成人精品视频 | 中文字幕欧美日韩va免费视频 | 一区二区三区免费在线观看视频 | 国产成人av电影在线观看 | 国产精品黄色 | 人人爽夜夜爽 | 欧美国产精品久久久久久免费 | 6080yy午夜一二三区久久 | 91亚洲精品久久久蜜桃网站 | 在线成人小视频 | 麻豆国产露脸在线观看 | 色综合在 | 免费av观看 | 天天色宗合 | www.久久久 | 黄色av大片| 日韩一级黄色大片 | 国产五月色婷婷六月丁香视频 | 性色av香蕉一区二区 | 狠狠干夜夜操 | 成人av一级片 | 日本精品中文字幕在线观看 | 婷婷视频在线观看 | 日韩免费在线视频 | 久久视精品 | 久久黄色网址 | 久久久久久久网 | 久久免费资源 | 91精品久久久久久 | 欧美福利片在线观看 | 99婷婷 | 成年在线观看 | 欧美日韩高清一区二区 | 久久久免费国产 | 免费97视频 | 欧美日韩亚洲第一页 | 天天射天天爱天天干 | 黄色av成人在线 | www久久久久 | 国产精品手机在线 | 中文字幕免费不卡视频 | av电影在线观看完整版一区二区 | 国产色视频一区二区三区qq号 | 亚洲国产精品500在线观看 | 亚洲午夜小视频 | 国产精品激情偷乱一区二区∴ | 久久综合狠狠综合久久综合88 | 久久五月婷婷丁香 | 中文字幕日韩av | 97人人模人人爽人人少妇 | 国产精品久久久久一区二区 | 操天天操| 日本动漫做毛片一区二区 | 久久视频二区 | 色综合久久久久网 | 国产成人综合在线观看 | 六月丁香久久 | 亚洲一二视频 | 五月婷婷激情综合网 | 91久久精品一区二区三区 | 日韩av免费网站 | 久久免费视频在线观看6 | 日韩在线一二三区 | 99中文在线 | 精品久久1 | 亚洲高清网站 | 91精品在线观看视频 | 91爱爱网址 | 久久永久视频 | 福利网址在线观看 | 中文字幕精 | 久久精品老司机 | 五月婷婷久久综合 | 日韩成人在线免费观看 | 日韩xxx视频| 天天操伊人 | 亚洲激情影院 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 亚洲欧美视频在线播放 | 日本中文一区二区 | 三级av在线播放 | 狠狠久久 | 狠狠操在线 | 久久视频免费在线 | 91精彩视频 | 福利网址在线观看 | 国产免费xvideos视频入口 | 视频在线日韩 | a级黄色片视频 | 久久99国产精品 | 精品国产一区二区三区久久久蜜臀 | 成人午夜电影久久影院 | 日韩黄在线观看 | 色婷婷av在线 | 亚州免费视频 | 99视频在线看 | 综合在线色 | 在线播放91 | 久久久久国产一区二区三区 | 成 人 黄 色 免费播放 | 亚洲电影图片小说 | 中文字幕三区 | 免费av网址大全 | 亚洲成人黄色在线 | 亚洲清纯国产 | 日韩一区二区三区观看 | 国产精品99在线播放 | 成年人app网址 | 91av蜜桃| 日韩免费网站 | 日本久久中文字幕 | 999久久国产精品免费观看网站 | 在线色亚洲 | 成年人视频免费在线播放 | 久久爱资源网 | 91黄色小网站 | 亚洲.www | 玖玖国产精品视频 | 日韩影视精品 | 国产精品初高中精品久久 | 狠狠躁夜夜躁人人爽视频 | 婷婷在线免费视频 | www91在线 | 91成人免费看片 | 亚洲丁香日韩 | 天天操操 | 伊人中文在线 | 成年人免费看 | 亚洲闷骚少妇在线观看网站 | 免费久久片 | 国产成人亚洲在线观看 | 国产精品日韩精品 | 久久久99精品免费观看app | 人人干网站 | 极品久久久久久久 | 亚洲 欧洲 国产 日本 综合 | 日本精品中文字幕在线观看 | 九九九九九国产 | 精品一区二区三区久久久 | 国产xxxx性hd极品 | 日韩激情视频 | 狠狠狠狠狠狠狠狠 | 国产资源网 | 久久久免费 | 91成人免费在线视频 | 国产99中文字幕 | 成人免费在线观看电影 | 亚洲精品久久久久www | 在线欧美中文字幕 | 久久手机看片 | 99精品久久99久久久久 | 免费看的黄色小视频 | 在线中文字幕视频 | 一区二区视频免费在线观看 | 91av观看| 日韩视频一区二区在线观看 | 日韩高清一二区 | 美女黄频网站 | 久久国产精品区 | 韩国av免费在线 | 激情视频久久 | 久久精品国产亚洲精品2020 | 国产一区二区在线免费视频 | 久久男人中文字幕资源站 | 操操日日 | 国产精品黄色在线观看 | 国产精品一区二区三区免费看 | 国产精品视频免费 | 久久精品视频在线观看免费 | 国产美女精品视频免费观看 | 欧美精彩视频在线观看 | 四虎国产精品成人免费影视 | 亚洲狠狠干 | 久草国产在线观看 | 超碰.com | 日本在线中文 | 黄色www免费 | 免费国产在线精品 | 国产成人黄色av | 国产午夜免费视频 | 狠狠躁天天躁 | 久久成人高清视频 | 色婷婷激情五月 | 国产涩图| 99av在线视频 | 成+人+色综合 | 一区二区三区四区五区六区 | 色丁香综合 | 2022中文字幕在线观看 | 国产在线视频一区 | 久久久国产精品视频 | 婷婷久久五月天 | 国产精品aⅴ | 在线观看的a站 | 免费a v网站| 色噜噜在线观看视频 | 国产va饥渴难耐女保洁员在线观看 | 欧美性色综合 | 九九视频网站 | 久久久久久蜜av免费网站 | 天天天干天天射天天天操 | 天天综合中文 | 婷婷五月情| 公开超碰在线 | 毛片在线网| 成人高清av在线 | 91网免费看| 欧美日韩国产一二 | 亚洲无吗视频在线 | 婷婷丁香狠狠爱 | 久久久久久久久久影视 | 日韩在线免费 | 中文av不卡 | 99久免费精品视频在线观看 | 欧美一级片 | 97爱爱爱| 99视频久 | 国产91影视| 免费亚洲精品视频 | 免费观看黄 | 国产一区欧美在线 | 亚洲精品国产成人av在线 | 在线欧美中文字幕 | 日韩免费小视频 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 九九色在线观看 | 免费日韩一区二区三区 | 欧美一级免费片 | 三级动图| 97精品超碰一区二区三区 | 国产精品日韩在线播放 | 欧洲性视频 | 97精品一区二区三区 | 怡红院成人在线 | 日韩精品免费在线播放 | 亚洲国产精品久久久久 | 日韩激情视频在线观看 | 久草资源在线观看 | 丁香激情五月婷婷 | 国产淫片 | 99久久精品国产网站 | 亚洲国产成人精品在线 | 国产在线无| 91麻豆精品 | 玖玖玖在线 | 欧美日韩国产综合一区二区 | 精品国产综合区久久久久久 | 婷婷电影在线观看 | 中文字幕人成人 | 久久综合久久综合久久综合 | 久久久久国产一区二区 | 四虎在线视频免费观看 | 六月丁香激情综合 | 天天做夜夜做 | 日韩| 一区二区电影在线观看 | 人人玩人人爽 | 久久精品免费播放 | 国产中文字幕在线免费观看 | 国产短视频在线播放 | 日韩最新中文字幕 | 国产成人精品av在线观 | 黄色小视频在线观看免费 | 国产高清av免费在线观看 | 最近中文字幕mv | 国产精品美女免费 | 中文字幕一区二区三区在线观看 | 国产精品9999久久久久仙踪林 | 日韩激情免费视频 | 亚洲永久国产精品 | 天天干,天天操,天天射 | 国产亚洲婷婷免费 | 黄色免费视频在线观看 | 日韩在线免费高清视频 | 黄色com | 久久久九色精品国产一区二区三区 | 激情视频免费在线 | 久久av影院 | 亚洲国内精品视频 | 久久狠狠一本精品综合网 | 午夜久久电影网 | 成片人卡1卡2卡3手机免费看 | 91香蕉视频在线 | 久久艹精品 | 久久99国产精品久久 | 国产成人精品久久二区二区 | www.99在线观看 | 91污污视频在线观看 | 综合网在线视频 | 91亚洲欧美 | 四虎小视频 | 日本中文在线 | 五月天九九 | 日韩黄色一级电影 | 色狠狠婷婷 | 色网免费观看 | 亚洲精品动漫久久久久 | 亚洲黄色片 | 最新成人在线 | 久久激情五月激情 | 欧美va天堂va视频va在线 | 日韩大片在线免费观看 | 成人在线黄色电影 | 久久精品久久精品久久39 | 久久久性| 字幕网在线观看 | 国产99久久九九精品 | 婷婷色在线资源 | 国产日韩三级 | 国产99久久久久久免费看 | www.久艹| 99热日本| 一区二区三区播放 | 69人人| 伊人色综合网 | 天堂av在线网 | av国产在线观看 | 97免费在线观看 | 五月婷婷丁香激情 | 欧美精彩视频 | 亚洲视频456 | 天堂av观看 | 超碰在线9| 欧美在线aaa | 伊人婷婷在线 | 丁香婷婷激情网 | 中文字幕av一区二区三区四区 | 日韩在线观看三区 | 欧美日韩一区二区在线观看 | 国产一区二区三区网站 | 69视频网站| 亚洲男男gaygay无套 | avlulu久久精品 | 久久艹免费 | 在线免费视频你懂的 | 狠狠干夜夜 | 国产成人精品在线 | 五月婷视频 | 亚洲女同ⅹxx女同tv | 中文字幕一二 | 在线视频一二区 | 久久精品国产99国产 | 成人av片在线观看 | 欧美日韩国产在线精品 | 国产视频一区在线免费观看 | 天天操夜夜摸 | 久久久亚洲网站 | 搡bbbb搡bbb视频 | 成人免费观看完整版电影 | 成人三级av | 毛片.com | 91香蕉视频 mp4| 亚洲成人av一区二区 | 中文字幕资源网 | 特黄色大片 | 亚洲精品乱码久久久久久写真 | 天天综合视频在线观看 | 伊人天天狠天天添日日拍 | 欧美一二三区播放 | 免费看精品久久片 | 欧美aaa一级 | 色婷婷久久一区二区 | 久久免费毛片 | 91亚洲国产成人 | 午夜久久| 日韩中文字幕亚洲一区二区va在线 | 免费在线观看日韩视频 | 国产精品久久久久四虎 | 天天色天天射天天综合网 | 97精品视频在线播放 | 亚洲精品自在在线观看 | 婷婷丁香五 | 午夜av免费在线观看 | 色综合久久久久综合 | 日本久久成人 | 美州a亚洲一视本频v色道 | 天天爽人人爽夜夜爽 | 国产一级性生活视频 | 九九在线免费视频 | 日韩一级片大全 | 色视频国产直接看 | 超碰97网站 | 亚洲欧美日韩中文在线 | 天堂va在线高清一区 | 欧洲精品视频一区 | 国产一区二区三区久久久 | 免费又黄又爽 | 免费看成人av | 美女黄频免费 | 日韩欧美电影网 | 婷婷综合av | 欧美日韩高清在线一区 | 天天干天天操天天干 | 日韩专区在线观看 | 免费一级片在线观看 | 97超碰中文字幕 | 又爽又黄又无遮挡网站动态图 | 国产69精品久久久久99 | 色婷婷综合久久久 | 在线看日韩 | 在线观看亚洲成人 | av在线一 | www九九热| 亚洲在线成人精品 | 婷婷视频在线播放 | 五月婷婷开心中文字幕 | 欧美一二三区播放 | 国产成人高清在线 | 午夜精品久久久久久久久久 | 亚洲成成品网站 | 日日操日日插 | 国产精品成人国产乱 | 国产中文在线观看 | 日韩中文在线观看 | 欧美另类交在线观看 | 久久精品网址 | 国产欧美日韩一区 | 99精品视频中文字幕 | 蜜桃av人人夜夜澡人人爽 | 亚洲综合日韩在线 | 激情视频免费观看 | 国产精久久 | 国产视频在线观看免费 | 午夜精品福利一区二区 | 制服丝袜成人在线 | 五月天久久婷婷 | 日本中文字幕免费观看 | 欧美福利片在线观看 | 日韩免费观看一区二区 | 亚洲春色综合另类校园电影 | 日韩精品无码一区二区三区 | 嫩草av在线 | 久久精品视频在线观看 | 日韩a在线播放 | 天天操夜夜拍 | 久久社区视频 | 综合久久久久久久 | 成人宗合网 | 99久久精品午夜一区二区小说 | 色婷婷丁香 | 国产一区观看 | 国产一区二区在线观看免费 | 欧美精品久久久久久久亚洲调教 | 欧美日韩亚洲精品在线 | 精品国产免费av | 激情电影影院 | 四虎伊人| 国产 视频 久久 | 在线观看av小说 | 精品视频久久久久久 | 国产高清av免费在线观看 | 91av国产视频| 国产精品综合av一区二区国产馆 | 91福利试看| 黄色av网站在线免费观看 | 精品福利片 | 日韩二区在线 | 超碰精品在线 | 国产韩国日本高清视频 | 九九热av | 91精品视频导航 | 欧美精品生活片 | 婷婷国产在线 | 国产精品6999成人免费视频 | 五月开心六月伊人色婷婷 | av中文字幕不卡 | 伊人黄色网 | 在线观看视频国产一区 | 国产精品综合久久久久久 | 99久热在线精品视频成人一区 | 超碰97国产精品人人cao | 99精品视频免费看 | 中文字幕之中文字幕 | 久 久久影院 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精品一区免费在线观看 | 人人爱人人射 | 日日操狠狠干 | 午夜精品久久久久久久久久 | 在线国产高清 | 99国产视频在线 | 亚洲成人影音 | 日韩网页 | 日韩高清免费观看 | 免费在线观看成人 | 国产91亚洲 | 久久午夜羞羞影院 | 成人免费在线网 | 国产成人精品999在线观看 | 国产三级午夜理伦三级 | 国产美女视频免费观看的网站 | 国产精品一区二区三区在线 | 天天插视频 | 亚洲国产天堂av | 欧美一级片播放 | 亚洲国产欧美一区二区三区丁香婷 | 国产精品久久伊人 | 国产高清不卡在线 | 欧美男同网站 | av在线播放观看 | 在线观看国产www | 免费在线观看黄网站 | 成年人视频在线免费 | 亚洲精品啊啊啊 | 中文资源在线播放 | 91免费视频国产 | 狠狠色噜噜狠狠狠合久 | 欧美大片www| 久久久久久久久精 | 黄色小网站在线 | 在线色吧 | 国产黄色片网站 | 欧美精品一区二区三区一线天视频 | 欧美日韩另类在线 | 人人澡人人爽欧一区 | 国产青草视频在线观看 | 国产九九精品视频 | 国产资源网站 | 久久久麻豆 | 视频三区 | 麻豆 videos | 免费av 在线| 永久免费毛片 | 五月天综合在线 | 开心激情网五月天 | 九九在线播放 | 色综合久久五月天 | 狠狠狠狠狠狠 | 久草电影免费在线观看 | 人人精久 | 久久草视频 | 五月天久久久 | 黄色a三级| 日韩精品影视 | 国产精品aⅴ | 国产亚洲视频在线免费观看 | 韩国av一区二区 | 国产一区二区三区免费在线观看 | av免费观看网站 | 久久调教视频 | 男女激情麻豆 | 99免费看片 | 91在线蜜桃臀 | 毛片激情永久免费 | 在线高清一区 | 在线免费观看不卡av | mm1313亚洲精品国产 | 日本性xxxxx 亚洲精品午夜久久久 | 九七人人干 | 久视频在线 | 国产精品久久久久久久久久久久午 | 一区二区三区中文字幕在线观看 | 国内精品久久久久影院日本资源 | 久久久99国产精品免费 | 亚洲少妇自拍 | 97夜夜澡人人双人人人喊 | 九九久久久久久久久激情 | 久久精品视 | 日韩特黄一级欧美毛片特黄 | 欧美久久综合 | av在线网站大全 | 人人爽人人干 | 亚洲美女视频网 | 婷婷午夜激情 | 91.dizhi永久地址最新 | 免费成人在线观看 | 97电影网手机版 | 亚洲精品视 | 国产高清不卡一区二区三区 | www91在线观看 | 久久久久久国产精品久久 | 91热爆视频| 成人av教育 | 人人草在线观看 | 91精品网站 | 免费av影视| 久久99精品波多结衣一区 | 久久久久久久18 | 久久国产精品免费一区 | 最新中文字幕在线播放 | 婷久久 | 亚洲成熟女人毛片在线 | 欧美有色 | 免费观看v片在线观看 | 欧美日韩三级在线观看 | 国产成人一区二区三区久久精品 | 国产精品二区三区 | 91在线蜜桃臀 | av先锋影音少妇 | 一级黄色av | 免费成人在线观看视频 | 国产精品大全 | 亚洲视频 视频在线 | 亚洲精品www久久久久久 | 中文有码在线 | 日韩啪啪小视频 | 国产精品第54页 | 国产 日韩 欧美 中文 在线播放 | 黄色片网站 | 久草免费福利在线观看 | 激情视频免费观看 | 五月综合在线观看 | 丝袜少妇在线 | 色 中文字幕 | 亚洲精品www | 69av视频在线观看 | 国产精品 欧美 日韩 | 日韩伦理片一区二区三区 | 狂野欧美激情性xxxx | 午夜精品一区二区三区在线视频 | 韩国精品福利一区二区三区 | 夜又临在线观看 | 日韩在线观看网站 | 国产一区二区久久精品 | 久久成人福利 | 97视频网站 | 中文成人字幕 | 在线国产一区 | 日韩毛片久久久 | 欧美日韩国产精品一区二区 | 久久久久免费精品视频 | 丁香五婷 | 国产美腿白丝袜足在线av | 天天色婷婷 | 香蕉久久久久久久 | 中文字幕一区二区三 | 久久美女视频 | 高清av中文在线字幕观看1 | 国产精品麻豆果冻传媒在线播放 | 99性视频 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 亚洲精品电影在线 | 日日操天天操夜夜操 | 国产精品嫩草影院123 | 91久久人澡人人添人人爽欧美 | 日本久久综合视频 | 97色综合 | 欧美 国产 视频 | 在线天堂中文在线资源网 | 欧美怡红院视频 | 国产高清不卡 | 国产中文欧美日韩在线 | 国产第一页在线播放 | 91精品国自产在线观看欧美 | 国产成人精品午夜在线播放 | 夜夜骑天天操 | 美国av大片| 久久精久久精 | 国外调教视频网站 | 色网站在线看 | 在线看片一区 | 99久久婷婷国产 | 亚洲精品乱码久久久久久蜜桃动漫 | 在线亚洲人成电影网站色www | 久久国产精品一区二区 | 日本久久成人中文字幕电影 | 久久九九九九 | 久久精品视频免费播放 | 天堂网av 在线 | 激情综合国产 | 黄色www | 日韩免费看片 | 久久国产系列 |