ios根据日期获取年月日分秒及常用操作(问题)
来源:互联网 发布:linux acl mask 编辑:程序博客网 时间:2024/05/16 00:26
//获取当前时间 NSDate *now = [NSDate date]; NSLog(@"now date is: %@", now); NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:now]; int year = [dateComponent year]; int month = [dateComponent month]; int day = [dateComponent day]; int hour = [dateComponent hour]; int minute = [dateComponent minute]; int second = [dateComponent second]; NSLog(@"year is: %d", year); NSLog(@"month is: %d", month); NSLog(@"day is: %d", day); NSLog(@"hour is: %d", hour); NSLog(@"minute is: %d", minute); NSLog(@"second is: %d", second);
计算n小时后的日期
/** * 根据开始小时,分钟和时长计算结束日期 * * @param startHour 开始日期对应的小时(以当前日期为准) * @param startMinute 开始日期对应的分钟(以当前日期为准) * @param endHour 结束的时长 (时长) * @param endMinute 结束的分钟 (时长) * * @return 结束时期 */- (NSDate *) calculateEndDate:(NSInteger)startHour startMinute:(NSInteger)startMinute endHour:(NSInteger)endHour endMinute:(NSInteger)endMinute{ NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents *nowDateComp = [calendar components:unitFlags fromDate: [NSDate date]]; NSDateComponents *startDateComp = [[NSDateComponents alloc]init]; [startDateComp setYear:[nowDateComp year]]; [startDateComp setMonth:[nowDateComp month]]; [startDateComp setDay:[nowDateComp day]]; [startDateComp setHour:startHour]; [startDateComp setMinute:startMinute]; [startDateComp setSecond:0]; NSCalendar *startCal = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDate *startDate = [startCal dateFromComponents:startDateComp]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate:startDate]; NSDate *localeDate = [startDate dateByAddingTimeInterval: interval];//需要将标准时间转成本地时间 //初始化为以localeDate为基准,然后过了(endHour*3600+endMinute*60)秒的时间 NSDate *endDate =[[NSDate alloc]initWithTimeInterval:(endHour*3600+endMinute*60) sinceDate:localeDate]; return endDate;}
获取的NSDate date时间与实际相差8个小时解决方案
NSDate *date = [NSDate date]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: date]; NSDate *localeDate = [date dateByAddingTimeInterval: interval]; NSLog(@"enddate=%@",localeDate);
ios NSCalendarIdentifierGregorian日期相差8小时:http://blog.csdn.net/diyagoanyhacker/article/details/7096612
0 0
- ios根据日期获取年月日分秒及常用操作(问题)
- java日期Calendar类获取年月日小时分秒星期
- 日期控件显示年月日及时分秒
- iOS 获取公历、农历日期的年月日
- 获取日期Date年月日
- swift 对于NSDate日期获取年月日及其他操作
- js获取年月日及时间戳与日期转换
- IOS 获取年月日、星期
- iOS 获取年月日
- IOS OC获取年月日
- android初学------根据日期时间字符串返回date数据 获取年月日
- 获取年月日时间日期等
- 根据年月日得到日期是星期几
- 根据年月日得到日期是星期几
- sql 根据年月日得到日期列
- js日期操作之根据指定格式获取日期
- gridview中的日期总是显示到时分秒,为了让只其显示年月日,采用如下代码
- java得到年月日小时分秒
- 【JS/网易公开课】哈佛大学公开课:构建动态网站 第6讲 JavaScript
- 使用两个栈模拟队列的操作
- Java处理List的三种方法
- 社説 20150819 再生エネ見直し 国民負担抑制の具体策を示せ
- 图片在线预览功能实现过程
- ios根据日期获取年月日分秒及常用操作(问题)
- Java/Android倒计时(开始,暂停,恢复,停止)
- Android Viewpager中Fragment可见的标志
- Unity3D性能优化之角色建模
- UCGUN WM API 函数
- PowerPC PPC460-S MMU(五 Storage Control Registers)
- 1093. Count PAT's (25)
- 访问量和在线人数统计
- SAP router installation for Linux