![](/img/trans.png)
[英]Swift converting string to double with numberformatter returns nil
[英]Converting String to Time Format returns nil Data
我的Json是
{
"MinPerAppointment": "30",
"OpeningTime": "12:05"
}
現在,我想添加30到12:05,應該是12:35,我無法獲得如何格式化,所以,我嘗試使用NSdate
NSString *str_MinPerAppointment = timeDetailData.minPerAppointment;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm"];
NSDate *myDate = [dateFormatter dateFromString:str_MinPerAppointment];
NSString *dateInString = [dateFormatter stringFromDate:myDate];
NSLog(@"New AppointMentValue :%@",dateInString);
我得到New AppointMentValue 為零 。
我認為你不需要使用NSDate
格式。 只需將HH:MM
轉換為分鍾(或秒,如果您處理它們),做數學然后轉換回來。
就像是:
NSString *time = @"12:30";
int addMinutes = 30;
int hh, mm;
if (sscanf([time UTF8String], "%d:%d", &hh, &mm) == 2) {
int minutes = (hh * 60) + mm;
minutes += addMinutes;
hh = minutes / 60;
mm = minutes - (hh * 60);
hh %= 24; // day roll-over
NSString *newTime = [NSString stringWithFormat:@"%02:%02d", hh, mm];
} else {
NSLog(@"Invalid time value: %@", time);
}
如果你想使用NSDateFormatter/NSDate
試試這個 -
NSString *str_MinPerAppointment = @"30";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm"];
NSDate *myDate = [dateFormatter dateFromString:@"12:05"] ;
NSString *dateInString = [dateFormatter stringFromDate:[myDate dateByAddingTimeInterval:60*[str_MinPerAppointment integerValue]]];
NSLog(@"New AppointMentValue :%@",dateInString);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.