时间是字符串格式,如10:27:43。但当我转换为日期格式。它将改变星期六1月1日10:27:43 2000.但我只需要时间如10:27:43
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss ZZZ yyyy"];
NSLog(@"Date is %@", dateTime);
// Convert to new Date Format
[dateFormatter setDateFormat:@"HH:mm:ss"];
newDate = [dateFormatter stringFromDate:dateTime];
NSLog(@" string Date is %@", newDate);
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init] ;
[dateFormatter1 setDateFormat:@"HH:mm:ss"];
//[dateFormatter1 setDateFormat:@"dd/mm/yyyy"];
NSDate *dateFromString = [dateFormatter1 dateFromString:newDate];
NSLog(@"date format date %@",dateFromString);
答案 0 :(得分:0)
你需要根据日期转换dateFormat,然后根据需要转换它。
请尝试以下代码..
NSString *dateTime = @"Thu Jan 25 10:38:11 2018";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss yyyy"];
NSDate *dateFromString = [dateFormatter dateFromString:dateTime];
NSLog(@"Date is %@", dateTime);
// Convert to new Date Format
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSString *result = [dateFormatter stringFromDate:dateFromString];
NSLog(@"result %@",result);
答案 1 :(得分:0)
将日期组件中的时间拆分,并将其作为时间使用。
检查以下代码。
NSString *aStrTime = @"10:27:43";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:aStrTime];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:date];
NSInteger hour = [components hour];
NSInteger minute = [components minute];
NSInteger sec = [components second];
NSLog(@"%d:%d:%d", hour, minute, sec);
注意:根据您的需要更改aStrTime
和dateFormatPattern
。
答案 2 :(得分:0)
You can try the following code:-
For e.g:- if you are getting the date in 10-02-2017 12:30:50 format
NSString *strDate = @"10-02-2017 12:30:50";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-mm-yyyy HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:strDate];
NSLog(@"The Date is: %@", date);
// By this code you will get the date in NSDate form. Now you can change the format to get the time
[dateFormat setDateFormat:@"HH:mm:ss"];
NSString *strFinalTime = [dateFormatter stringFromDate:strDate];
NSLog(@"strFinalTime: %@",strFinalTime);