在我的iOS application(Objective C)
我在数据库中添加日期(2016年11月29日),格式如下:
2016-11-29 04:08:00 PM
在显示期间,我想以下列格式显示:
11/29/2016 04:08:00 PM
为此,我添加了像
这样的格式NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *date1 = [dateFormatter dateFromString: StartDateTime];
//here StartDateTime = 2016-11-29 04:08:00 PM
// Convert to new Date Format with /
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSString *newDate = [dateFormatter stringFromDate:date1];
但此处newDate
会返回nil
。
如何更改日期格式?请建议我。
谢谢。
答案 0 :(得分:0)
我已尝试使用以下更改代码:
NSString *StartDateTime = @"2016-11-29 04:08:00 PM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *date1 = [dateFormatter dateFromString: StartDateTime];
//here StartDateTime = 2016-11-29 04:08:00 PM
// Convert to new Date Format with /
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSString *newDate = [dateFormatter1 stringFromDate:date1];
NSLog(@"%@",newDate);
在我的代码中,我添加了一个新的NSDateFormatter
对象(例如上面的示例dateFormatter1
),其中包含新的分配和新的日期格式。
你会这样得到答案
每当您想要更改 DateTime格式时,每次都必须创建NSDateFormatter
的新实例。
即使尝试此选项后,如果您没有获得所需的结果,请尝试在设备中运行代码,而不是在模拟器中运行。因为模拟器可能不会一直返回准确的结果,尤其是日期和时间