2016-05-16 67 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]);