我试图将NSString
这样的一个“2300”转换为NSDate
格式。 (注意:23后没有冒号)。将NSString(例如:“2300”)转换为NSDate(iOS)
我从外部Web服务获取字符串。我需要以12小时的格式在我的应用中显示这个时间。
谢谢:)
我试图将NSString
这样的一个“2300”转换为NSDate
格式。 (注意:23后没有冒号)。将NSString(例如:“2300”)转换为NSDate(iOS)
我从外部Web服务获取字符串。我需要以12小时的格式在我的应用中显示这个时间。
谢谢:)
我加入这里的三种类型,其中tyope你需要选择
类型-1
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HHmm"];
[formatter setTimeZone:[NSTimeZone systemTimeZone]];
[formatter setLocale:[NSLocale systemLocale]];
NSDate *date = [formatter dateFromString:@"2300"];
[formatter setDateFormat:@"hh:mm"];
NSString *finalDate = [formatter stringFromDate:date];
NSLog(@"finalDate==%@",finalDate);
类型-2
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setDateFormat:@"HHmm"];
[formatter1 setTimeZone:[NSTimeZone systemTimeZone]];
[formatter1 setLocale:[NSLocale systemLocale]];
NSDate *date1 = [formatter1 dateFromString:@"2300"];
[formatter1 setDateFormat:@"hhmm"];
NSString *finalDate1 = [formatter1 stringFromDate:date1];
NSLog(@"finalDate1==%@",finalDate1);
Typ Ë-3
NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
[formatter2 setDateFormat:@"HHmm"];
[formatter2 setTimeZone:[NSTimeZone systemTimeZone]];
[formatter2 setLocale:[NSLocale systemLocale]];
NSDate *date2 = [formatter1 dateFromString:@"2300"];
[formatter2 setDateFormat:@"hh:mm a"];
NSString *finalDate2 = [formatter2 stringFromDate:date2];
NSLog(@"finalDate2==%@",finalDate2);
你得到像
你是否有解决方案 –
这对我的作品感谢你。 :) –
@AbbinVarghese - welcome –
如果我理解你正确地质疑,2300实际上是23:00,即晚上11点。 所以,首先你需要从字符串获取日期,只有我能想到的与你得到的数据的方法是使用Substring
- (NSDate*) getDateFromweb:(NSString *)dateString
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setLocale:[NSLocale systemLocale]];
[dateFormatter setDateFormat:@"HHmm"];
NSDate *date = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"hh:mm a"];
NSString *pmAm = [dateFormatter stringFromDate:date];
return pmAm;
}
添加系统区域设置和时区的建议从abizern。 这也将不承担datestring有4位
“2300” 的输出可以是任何东西。你是说这是一个24小时格式(hhmm)的时间,你想将它转换为NSDate,然后转换为12小时格式的时间字符串? –
是..“2300”是24小时格式的时间 –
您得到这种类型格式:下午11:00? –