如题如何获取当天某一时刻的时间戳呢?
认证高级PHP讲师
NSCalendar *greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"]; [greCalendar setTimeZone: timeZone]; NSDateComponents *dateComponents = [greCalendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]]; // 定义一个NSDateComponents对象,设置一个时间点 NSDateComponents *dateComponentsForDate = [[NSDateComponents alloc] init]; [dateComponentsForDate setDay:dateComponents.day]; [dateComponentsForDate setMonth:dateComponents.month]; [dateComponentsForDate setYear:dateComponents.year]; [dateComponentsForDate setHour:23]; [dateComponentsForDate setMinute:59]; NSDate *dateFromDateComponentsForDate = [greCalendar dateFromComponents:dateComponentsForDate]; return dateFromDateComponentsForDate;
這個是獲取當天北京時區的23:59分,你把你要獲取的時間修改一下就行了,時間戳的話,把時區改為零時區就行了,能解決你的問題嗎?
你好您說的這個方法不能獲取到當天北京時區的23:59 分的日期,你雖然已經設置了時區, 並且設置了小時和分鐘, 但是還是不能獲取到當天0點和23 點59 分鐘的日期時間, 是否我自己用你的代碼有什麼不對的地方, 請指出謝謝
我後來找的方法是: 不用設定時區,直接設定小時為8 小時, 這樣可以取得
// 创建日历 NSCalendar *calendar = [NSCalendar currentCalendar]; // 初始化日历组件 NSDateComponents *dateComponents = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:[NSDate date]]; [dateComponents setYear:dateComponents.year]; [dateComponents setMonth:dateComponents.month]; [dateComponents setDay:dateComponents.day]; [dateComponents setHour:8]; // 设置为为8 时 NSDate *timeDate = [calendar dateFromComponents:dateComponents]; // 从0 点开始24 小时之后的时间 NSDate *end = [timeDate dateByAddingTimeInterval:24 * 3600]; WZLog(@"获取的时间为 = %@", timeDate);
你好, 你的方法是正確的, 我說的這個只是顯示的是當前正確的時間, 當時轉換為時間戳之後其實不是正確的, 不好意思 , 是我弄錯了
這個是獲取當天北京時區的23:59分,你把你要獲取的時間修改一下就行了,時間戳的話,把時區改為零時區就行了,能解決你的問題嗎?
你好您說的這個方法不能獲取到當天北京時區的23:59 分的日期,你雖然已經設置了時區, 並且設置了小時和分鐘, 但是還是不能獲取到當天0點和23 點59 分鐘的日期時間, 是否我自己用你的代碼有什麼不對的地方, 請指出謝謝
我後來找的方法是: 不用設定時區,直接設定小時為8 小時, 這樣可以取得
你好, 你的方法是正確的, 我說的這個只是顯示的是當前正確的時間, 當時轉換為時間戳之後其實不是正確的, 不好意思 , 是我弄錯了