如何将 NSTime 格式从 hh:mm:ss 更改为 hh:mm a?
How do I change NSTime format from hh:mm:ss to hh:mm a?
我想更改字符串的时间格式,我在 hh:mm:ss 中有 24 小时格式的值,我想将其设为 hh:mm:a 12 小时格式。
我试过了 -
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"hh:mm:ss"];
NSDate *date123 = [format dateFromString:temp123];
[format setDateFormat:@"hh:mm a"];
NSString* newDateString = [format stringFromDate:date123];
请帮助我。
根据需要尝试以下功能,
+(NSString*)getStringFromDate:(NSDate*)pDate withFormat:(NSString*)pDateFormat{
NSDateFormatter *dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:pDateFormat];
return [dtFormatter stringFromDate:pDate];
}
+(NSDate*)getDateFromString:(NSString*)pStrDate withFormat:(NSString*)pDateFormat{
NSDateFormatter *dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:pDateFormat];
return [dtFormatter dateFromString:pStrDate];
}
+(NSString*)dateStringFromString:(NSString *)dateToConver format:(NSString *)fromFormat toFormat:(NSString *)toFormat{
NSDate *date = [Helper getDateFromString:dateToConver withFormat:fromFormat];
return [Helper getStringFromDate:date withFormat:toFormat];
}
如果您的 temp123
采用 24 小时格式,则使用 HH
而不是 hh
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"HH:mm:ss"];
NSDate *date123 = [format dateFromString:temp123];
[format setDateFormat:@"hh:mm a"];
[format setAMSymbol:@"am"];
[format setPMSymbol:@"pm"];
NSString* newDateString = [format stringFromDate:date123];
您的时间字符串采用 24 小时格式。
Objective C
NSString *strTime = @"23:10:00";
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"HH:mm:ss"];
NSDate *originalTimeFromString = [dateFormater dateFromString:strTime];
[dateFormater setDateFormat:@"hh:mm a"];
NSString *newDateString = [dateFormater stringFromDate:originalTimeFromString];
NSLog(@"%@",newDateString);
Swift 4
let strTime = "23:10:00";
let dateFormater = DateFormatter()
dateFormater.dateFormat = "HH:mm:ss"
let originalTimeFromString = dateFormater.date(from: strTime)
dateFormater.dateFormat = "hh:mm a"
let newTimeString = dateFormater.string(from: originalTimeFromString!)
print("Converted Time===>>>",newTimeString)
我想更改字符串的时间格式,我在 hh:mm:ss 中有 24 小时格式的值,我想将其设为 hh:mm:a 12 小时格式。
我试过了 -
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"hh:mm:ss"];
NSDate *date123 = [format dateFromString:temp123];
[format setDateFormat:@"hh:mm a"];
NSString* newDateString = [format stringFromDate:date123];
请帮助我。
根据需要尝试以下功能,
+(NSString*)getStringFromDate:(NSDate*)pDate withFormat:(NSString*)pDateFormat{
NSDateFormatter *dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:pDateFormat];
return [dtFormatter stringFromDate:pDate];
}
+(NSDate*)getDateFromString:(NSString*)pStrDate withFormat:(NSString*)pDateFormat{
NSDateFormatter *dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:pDateFormat];
return [dtFormatter dateFromString:pStrDate];
}
+(NSString*)dateStringFromString:(NSString *)dateToConver format:(NSString *)fromFormat toFormat:(NSString *)toFormat{
NSDate *date = [Helper getDateFromString:dateToConver withFormat:fromFormat];
return [Helper getStringFromDate:date withFormat:toFormat];
}
如果您的 temp123
采用 24 小时格式,则使用 HH
而不是 hh
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"HH:mm:ss"];
NSDate *date123 = [format dateFromString:temp123];
[format setDateFormat:@"hh:mm a"];
[format setAMSymbol:@"am"];
[format setPMSymbol:@"pm"];
NSString* newDateString = [format stringFromDate:date123];
您的时间字符串采用 24 小时格式。
Objective C
NSString *strTime = @"23:10:00";
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"HH:mm:ss"];
NSDate *originalTimeFromString = [dateFormater dateFromString:strTime];
[dateFormater setDateFormat:@"hh:mm a"];
NSString *newDateString = [dateFormater stringFromDate:originalTimeFromString];
NSLog(@"%@",newDateString);
Swift 4
let strTime = "23:10:00";
let dateFormater = DateFormatter()
dateFormater.dateFormat = "HH:mm:ss"
let originalTimeFromString = dateFormater.date(from: strTime)
dateFormater.dateFormat = "hh:mm a"
let newTimeString = dateFormater.string(from: originalTimeFromString!)
print("Converted Time===>>>",newTimeString)