在 Objective-C 中将时间从军用格式化为常规
Format time from military to regular in Objective-C
我正在尝试以 10:00, 23:00, 1:00, 9:00
等形式转换来自该数据库的时间
我有两个字符串:
NSString *timeFrom = @"10:00";
NSString *timeTo = @"18:00";
我希望在应用程序中以以下格式显示它们:10:00AM - 6:00PM
。
我为此使用了 NSDateFormatter,但没有得到正确的结果。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSDate *timeFromDateWithFormatter = [dateFormatter dateFromString:timeFrom];
NSDate *timeToDateWithFormatter = [dateFormatter dateFromString:timeTo];
我正在 NSDateFormatter 中寻找一个功能,它将转换为 "standard" 时间并相应地添加 AM/PM。但是,此代码导致 timeFromDateWithFormatter
的值为 2000-01-01 15:00:00 +0000
并且 timeToDateWithFormatter
在此代码为 运行 之后为 nil。
您想从 H:mm
转换为 h:mma
。为此,您需要两种日期格式。
NSDateFormat *oldFormatter = [[NSDateFormatter alloc] init];
oldFormatter.dateFormat = @"H:mm"; // The old format
NSDateFormat *newFormatter = [[NSDateFormatter alloc] init];
newFormatter.dateFormat = @"h:mma"; // The new format
NSString *timeFrom = @"10:00";
NSString *timeTo = @"18:00";
NSDate *dateFrom = [oldFormatter dateFromString:timeFrom];
NSString *newTimeFrom = [newFormatter stringFromDate:dateFrom];
NSDate *dateTo = [oldFormatter dateFromString:timeTo];
NSString *newTimeTo = [newFormatter stringFromDate:dateTo];
NSLog(@"old times: %@ - %@", timeFrom, timeTo):
NSLog(@"new times: %@ - %@", newTimeFrom, newTimeTo):
这将给出输出:
old times: 10:00 - 18:00
new times: 10:00am - 6:00pm
我正在尝试以 10:00, 23:00, 1:00, 9:00
等形式转换来自该数据库的时间
我有两个字符串:
NSString *timeFrom = @"10:00";
NSString *timeTo = @"18:00";
我希望在应用程序中以以下格式显示它们:10:00AM - 6:00PM
。
我为此使用了 NSDateFormatter,但没有得到正确的结果。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSDate *timeFromDateWithFormatter = [dateFormatter dateFromString:timeFrom];
NSDate *timeToDateWithFormatter = [dateFormatter dateFromString:timeTo];
我正在 NSDateFormatter 中寻找一个功能,它将转换为 "standard" 时间并相应地添加 AM/PM。但是,此代码导致 timeFromDateWithFormatter
的值为 2000-01-01 15:00:00 +0000
并且 timeToDateWithFormatter
在此代码为 运行 之后为 nil。
您想从 H:mm
转换为 h:mma
。为此,您需要两种日期格式。
NSDateFormat *oldFormatter = [[NSDateFormatter alloc] init];
oldFormatter.dateFormat = @"H:mm"; // The old format
NSDateFormat *newFormatter = [[NSDateFormatter alloc] init];
newFormatter.dateFormat = @"h:mma"; // The new format
NSString *timeFrom = @"10:00";
NSString *timeTo = @"18:00";
NSDate *dateFrom = [oldFormatter dateFromString:timeFrom];
NSString *newTimeFrom = [newFormatter stringFromDate:dateFrom];
NSDate *dateTo = [oldFormatter dateFromString:timeTo];
NSString *newTimeTo = [newFormatter stringFromDate:dateTo];
NSLog(@"old times: %@ - %@", timeFrom, timeTo):
NSLog(@"new times: %@ - %@", newTimeFrom, newTimeTo):
这将给出输出:
old times: 10:00 - 18:00
new times: 10:00am - 6:00pm