84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
如题如何获取当天某一时刻的时间戳呢?
认证高级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 小时, 这样可以获取
你好, 你的方法是正确的, 我说的这个只是显示的是当前正确的时间, 当时转换为时间戳之后其实不是正确的, 不好意思 , 是我弄错了