我检查过很多关于将日期格式转换为其他格式的代码,但它总是返回nil.I想要当前日期和时间。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSString *dateAsString = [formatter stringFromDate:[NSDate date]];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *newDate =[formatter dateFromString:dateAsString];
答案 0 :(得分:1)
试试这个希望这会解决你的问题
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];
NSDate *now = [[NSDate alloc] init];
NSString *theDate = [dateFormat stringFromDate:now];
NSString *theTime = [timeFormat stringFromDate:now];
NSLog(@"\n"
"theDate: |%@| \n"
"theTime: |%@| \n"
, theDate, theTime);
答案 1 :(得分:1)
这都是因为您的dateAsString(format:"yyyy-MM-dd hh:mm:ss")
与新的formatString("yyyy-MM-dd")
不匹配。
答案 2 :(得分:-1)
如果您需要解析日期字符串,您再次采用的方法取决于您想要完成的任务。如果你想解析用户的输入,你通常应该使用样式常量来匹配他们的期望。这是Data Formatting Guide。