In meiner Anwendung verwende ich eine Funktion, um das Datumsformat zu ändern, um auch das/mit - und Datumsformat zu ersetzen.iOS: Objective-C: Ausgabeproblem aufgrund der iPad-Zeitanzeige 12 Stunden/24 Stunden
Wenn Gerät auf 12 Stunden eingestellt ist, funktioniert alles einwandfrei. Aber wenn ich es auf 24 Stunden setze, gibt es einen falschen Wert zurück.
NSDate *newdate = [self convertDateSlashToDash:[obj valueForKey:@"TaskStartDateTime"]]);
//input date is : 6/6/2017 6:38:00 PM
-(NSDate *)convertDateSlashToDash:(NSString *)dateStr{
if ([dateStr isKindOfClass:[NSDate class]]) {
return (NSDate*)dateStr;
}
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//Set the AM and PM symbols
[dateFormatter setAMSymbol:@"AM"];
[dateFormatter setPMSymbol:@"PM"];
//Specify only 1 M for month, 1 d for day and 1 h for hour
[dateFormatter setDateFormat:@"M/d/yyyy h:mm:ss a"];
// in ms 1469077819000 without ms 1469077819 for 7/21/2016 5:10:19 AM
NSTimeInterval ti = [[dateFormatter dateFromString:dateStr] timeIntervalSince1970];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:ti];
NSDateFormatter *formatter= [[NSDateFormatter alloc] init];
// [formatter setLocale:[NSLocale currentLocale]];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss aa"];
NSString *dateString = [formatter stringFromDate:date];
NSDate *parsedDate = [formatter dateFromString:dateString];
return dateString;
}
//output of this is (24hrs): 1970-01-01 05:30:00AM
//output of this is (12hrs): 2017-06-06 06:38:00 PM
Warum funktioniert es nicht? Bitte vorschlagen.
Vielen Dank.
Sie Rückkehr 'dateString' sind? –
ja, ich brauchte das –
es ist falscher Wert, ich denke, es ist 'analysedDate' –