2016-10-19 13 views
-2
NSString *dateString = @"06:30 AM"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:MM:SS a"]; 
NSDate *dateFromString = [[NSDate alloc] init]; 
dateFromString = [dateFormatter dateFromString:dateString]; 

私は "dateFromString"をログに記録すると、それはゼロになります。nsdateへのnsstring

期待される結果は次のとおりです。

19-10-2016 06:30 

+2

チェックこの回答:http://stackoverflow.com/a/31217006/775896あなたはObjective-Cのにスウィフトのコードを複製しする必要があります。 – Mrunal

+0

あなたが実際にやろうとしているコードは、この関連する質問で見つけることができます(http://stackoverflow.com/questions/18707648/constructing-an-nsdate-from-todays-date-and-a-string-時を経て)。 –

+1

私は1つの答えを持っていますが、これは2000-01-01 06:30:00 +0000のような出力を出すでしょう。なぜなら、あなたは日付を定義していないからです。答えが必要な場合は投稿します –

答えて

1

はこれを試すことができ、ウル問題

NSDate *today = [NSDate date]; 
NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSDateComponents *urDateComponents = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:today]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"h:mm a"]; 

NSString *dateString = @"06:30 AM"; 
NSDate *urTime = [formatter dateFromString:dateString]; 

NSDateComponents *urTimeComponents = [[NSCalendar currentCalendar] components:(NSCalendarUnitHour | NSCalendarUnitMinute) fromDate:urTime]; 

urDateComponents.hour = urTimeComponents.hour; 
urDateComponents.minute = urTimeComponents.minute; 

NSDate *date = [calendar dateFromComponents:urDateComponents]; 

[formatter setDateFormat:@"dd-MM-yyyy hh:mm a"]; 
NSString *dateStr = [formatter stringFromDate:date]; 

出力解決される可能性があります助けてください:関数datestrの

印刷の説明: 19-10-2016 06:30 AM

コーディングハッピー...

+0

ありがとうございます。この回答は私のために働きます –

+1

あなたを歓迎しています。 –

関連する問題