2016-05-16 44 views
2

删除毫秒试图从字符串中删除毫秒(日期)从字符串中的iOS

NSString *dateString = @"2016-05-16 13:17:34.674194"; 
NSDateFormatter* formater = [[NSDateFormatter alloc] init]; 
[formater setDateFormat:@"dd/MM/yyyy HH:mm:ss"]; 
NSDate *date = [formater dateFromString:dateString]; 
NSLog(@"%@",[formater stringFromDate:date]); 

和我得到空

我期待O/P像(带出来毫秒)

“2016年6月5日13时17分34秒”

请建议...

+0

试试我的解决方案 –

回答

5

复制并粘贴此代码工作完美

NSString *dateString = @" "; 
NSDateFormatter* dateFormatter1 = [[NSDateFormatter alloc] init]; 
dateFormatter1.dateFormat = @"yyyy-MM-dd HH:mm:ss.SSS"; 
NSDate *yourDate = [dateFormatter1 dateFromString:dateString]; 
dateFormatter1.dateFormat = @"dd/MM/yyyy HH:mm:ss"; 
NSLog(@"%@",[dateFormatter1 stringFromDate:yourDate]); 

这里是输出

2016-05-16 16:43:53.639 StackLearn[6376:151614] 16/05/2016 13:17:34 

日期格式的规则是,你必须设置日期格式同样喜欢你的字符串当你从字符串获得日期,如果不匹配,那么你将得到空

+1

其工作伙伴..和你的评论是有价值的你的答案。 –

+1

此代码显示如何进行转换,但请注意,对于生产代码,您应该确实设置包含输入日期格式化程序和输出日期格式化程序的属性,然后每次重新使用它们。 (创建和配置日期格式化程序相当昂贵,所以您希望为每个独特的日期格式化程序执行一次。) –

1

尝试ŧ他: -

NSString *dateString = @"2016-05-16 13:17:34.674194"; 
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.SS";  
NSDate *yourDate = [dateFormatter dateFromString:dateString]; 
dateFormatter.dateFormat = @"dd-MMM-yyyy HH:mm:ss"; 
NSLog(@"%@",[dateFormatter stringFromDate:yourDate]); 
+0

其捐赠(空)...你想你的代码? –

+0

你的格式化程序仍然是错误的。初始格式字符串应该是'@“yyyy-MM-dd HH:mm:ss.SSSS”'。大写字母“S”es表示几分之一秒。小写字母给你一整秒钟。 –

0

工作完美

NSString *dateString = @" "; 
NSDateFormatter* dateFormatter1 = [[NSDateFormatter alloc] init]; 
dateFormatter1.dateFormat = @"yyyy-MM-dd HH:mm:ss.SSS"; 
NSDate *yourDate = [dateFormatter1 dateFromString:dateString]; 
dateFormatter1.dateFormat = @"dd/MM/yyyy HH:mm:ss"; 
NSLog(@"%@",[dateFormatter1 stringFromDate:yourDate]);