NSDate * senddate=[NSDate date];
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"HH:mm"];
NSString * locationString=[dateformatter stringFromDate:senddate];
//[dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
//NSString * morelocationString=[dateformatter stringFromDate:senddate];
//获得系统日期
NSCalendar * cal=[NSCalendar currentCalendar];
NSUInteger unitFlags = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear;
NSDateComponents * conponent= [cal components:unitFlags fromDate:senddate];NSInteger year=[conponent year];
NSInteger month=[conponent month];
NSInteger day=[conponent day];
NSString * nsDateString= [NSString stringWithFormat:@"%4d年%2d月%2d日",year,month,day];
//60秒倒计时
-(void)getValidateCode{
//倒计时
timeout=60; //倒计时时间
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);
dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行
dispatch_source_set_event_handler(_timer, ^{
timeout--;
if(timeout<=0){ //倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
[self.buttonGetCode setEnabled:YES];
[self.buttonGetCode setTitle:@"获取验证码" forState:UIControlStateNormal];
});
}else{
int seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"剩余%.2d秒", seconds];
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
[self.buttonGetCode setEnabled:NO];
[self.buttonGetCode setTitle:strTime forState:UIControlStateNormal];
});
}
});
dispatch_resume(_timer);
}
//获得系统时间戳
NSTimeInterval time = [[NSDate date] timeIntervalSince1970];
NSString *timeString = [NSString stringWithFormat:@"%f", time];
NSLog(@"%@", timeString);
- 时间转时间戳的方法:
- NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]];
- NSLog(@"timeSp:%@",timeSp); //时间戳的值
- 时间戳转时间的方法
- NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:1296035591];
- NSLog(@"1296035591 = %@",confromTimesp);
- NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
- NSLog(@"confromTimespStr = %@",confromTimespStr);
- 时间戳转时间的方法:
- NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
- [formatter setDateStyle:NSDateFormatterMediumStyle];
- [formatter setTimeStyle:NSDateFormatterShortStyle];
- [formatter setDateFormat:@"yyyyMMddHHMMss"];
- NSDate *date = [formatter dateFromString:@"1283376197"];
- NSLog(@"date1:%@",date);
- [formatter release];
系统日历用法
NSDate *date = [NSDate date];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
[gregorian setTimeZone:gmt];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:date];
components.day+=1;
components.hour = 0;
components.minute = 0; //[components setMinute:0];
components.second = 0;
NSDate *newDate = [calendar dateFromComponents:components];