我的日期格式为 2010-11-17 。格式为 NSString 。
我想将此 NSString日期转换为格式 2010年11月17日并显示在标签中
此日期不是当前日期,但可能是较旧的日期。
所以我不能使用[NSDate date]实例来获取日期。
我尝试将 NSDateFormatter 与 dateFromString 方法一起使用。
但它给了我一个 null 值。
以下是代码段
NSString *dates = @”2010-11-16”;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSDate *dates1 = [dateFormatter dateFromString:dates];
NSString *dates2 = [dateFormatter stringForObjectValue:dates1];
NSLog(@"dates : %@",dates);
NSLog(@"Dates 2 : %@",dates2);
[dateLabel setText:dates2];
NSLog(@"Formatted Date is : %@",dateLabel.text);
应该做什么?
请帮助并建议。
感谢。
答案 0 :(得分:3)
试试这个
NSDateFormatter *formater = [[NSDateFormatter alloc] init];
[formater setDateFormat:@"yyyy-MM-dd"];
NSDate *date2 = [formater dateFromString:@"2010-11-17"];
[formater setDateFormat:@"d MMM yyyy"];
NSString *result = [formater stringFromDate:date2];
NSLog(@"RESULT %@",result);
我得到了结果。如果这种方法错误,请更正我。
答案 1 :(得分:1)
以下是一些想知道的格式!
12:16:45 PM on January 01, 2000 --> hh:mm:ss a 'on' MMMM dd, yyyy
Wednesday, Sep 12, 2018 --> EEEE, MMM d, yyyy--
09/12/2018 --> MM/dd/yyyy--
09-12-2018 14:11 --> MM-dd-yyyy HH:mm--
Sep 12, 2:11 PM --> MMM d, h:mm a--
September 2018 --> MMMM yyyy--
Sep 12, 2018 --> MMM d, yyyy
Wed, 12 Sep 2018 14:11:54 +0000 --> E, d MMM yyyy HH:mm:ss Z
2018-09-12T14:11:54+0000 --> yyyy-MM-dd'T'HH:mm:ssZ
12.09.18 --> dd.MM.yy
10:41:02.112 --> HH:mm:ss.SSS
12:16:45 PM --> hh:mm:ss a
AM or PM --> a
答案 2 :(得分:0)
NSDateFormatter
使用date format patterns from UNICODE。
因此,对于 2010年11月17日日期,您需要以下内容:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"d MMM yyyy"];
NSString *result = [formatter stringForObjectValue:date];
date
变量包含您要格式化的日期。
更新:尝试将您的代码更改为:
NSString *dates = @”2010-11-16”;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *dates1 = [dateFormatter dateFromString:dates];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSString *dates2 = [dateFormatter stringForObjectValue:dates1];
NSLog(@"dates : %@",dates);
NSLog(@"Dates 2 : %@",dates2);
[dateLabel setText:dates2];
NSLog(@"Formatted Date is : %@",dateLabel.text);