[英]Date time Conversion in IOS
我知道這將是一個愚蠢的問題,但是我嘗試了所有事情,但仍然無法實現我想做的事情。
這是我的問題:
我想檢查兩個時間值和一個日期,我有一個像這樣的字符串“ 05.30 AM”。 我想將其轉換為時間格式[如果我可以完全按照現在的方式轉換,則更好。 我知道有一種方法可以使用以下方法比較兩個時間值:
NSComparisonResult result = [date1 compare:date2];
。
我按照下面的代碼將我的字符串值轉換為時間格式,但它僅返回null。
請引導我解決此問題:
NSString* tim = @"11:12 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterShortStyle];
NSDate *formatedTime= [formatter dateFromString:tim];
NSLog(@"TIME : %@",formatedTime);
對於這種特殊情況(使用tim
格式化的方式),您只缺少一行: [formatter setDateStyle:NSDateFormatterNoStyle];
這將告訴formatter
不要在字符串中查找date
。
NSString* tim = @"11:12 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateStyle:NSDateFormatterNoStyle];
NSDate *formatedTime= [formatter dateFromString:tim];
NSLog(@"TIME : %@",formatedTime);
您需要設置格式。
[formatter setDateFormat:@"hh:mm a"];
NSString* tim = @"11:12 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm a"];
NSDate *formatedTime= [formatter dateFromString:tim];
NSLog(@"TIME : %@",formatedTime);
但是你會收到
時間:1999-12-31 23:12:00 +0000
由於年份不明。
首先,您需要像這樣格式化String
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"EEE, dd MMM yyyy HH:mm:ss ZZZ";
[formatter dateFromString:@"Fri, 25 Jan 2014 5:30:22 +0000"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.