将日期转换为不同日期格式的字符串ios?

问题描述:

我搜索一些堆栈淬火将字符串转换为日期,这工作正常,但我将我的字符串日期转换为NSDate比它返回我零。这里是我的代码:将日期转换为不同日期格式的字符串ios?

NSString *dateStr = @"2016-07-29 09:05"; 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.SSSZ"]; 
    NSDate *date = [dateFormat dateFromString:dateStr]; 

我想将这个日期转换为yyyy-MM-ddTHH:mm:ss.SSSZ这个成员。

这里有什么问题?

+0

的〔转换日期字符串的NSDate在目标C /的iOS]可能的复制(http://stackoverflow.com/questions/14398604/convert-date-string-to-nsdate-in-objective-c- ios) –

+0

问题很好输出你的预期 –

+0

我的日期与我的格式不匹配,但是这种格式我想要的,他不能在毫秒内取00吗? – Kabali

不喜欢

NSString *dateStr = @"2016-07-29 09:05"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
// set the date format related to what the string already you have 
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]]; 
// again add the date format what the output u need 
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; 
NSString *finalDate = [dateFormat stringFromDate:date]; 
NSLog(@"finalDate==%@",finalDate); 

输出

enter image description here

+0

检查更新的答案 –

+0

我可以得到零timstamp日期从这个?>意味着如何减去小时形式时间来获得零tmistamp。 – Kabali

您的问题是您的日期格式@"yyyy-MM-ddTHH:mm:ss.SSSZ"与您的日期字符串@"2016-07-29 09:05"不匹配。您需要使用不同的日期格式。

工作拷贝 - 目标C

NSString *dateStr = @"2016-07-29T09:05:00.00000Z"; 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; 
    NSDate *date = [dateFormat dateFromString:dateStr]; 

斯威夫特2.x的

var dateformater = NSDateFormatter() 
dateformater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 
var dateString:String = "2016-07-29T09:05:00.00000Z" 
let date:NSDate = dateformater.dateFromString(dateString)! 

print(date) 
+0

但这是我想要的格式...我如何转化为它? – Kabali

只要改变你的formatterstyle如下

NSString *dateStr = @"2016-07-29 09:05"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 

后日你可以将日期转换成如下格式:

dateFormat.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; 
NSString *str = [dateFormat stringFromDate:date]; 
NSLog(@"%@",str); 
+0

但我想'yyyy-MM-ddTHH:mm:ss.SSSZ'日期格式 – Kabali

+0

@Kabali但输入字符串不符合该格式。那么你如何期待这种工作? – Droppy

+0

@Kabali你想要的答案在哪个甲酸盐的日期或字符串? – ashmi123

试试这个代码。

NSString *dateStr = @"2016-07-29 09:05"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 
NSLog(@"the date is %@",date); 

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"]; 
NSString *currentDate = [dateFormatter stringFromDate:date]; 
NSDate *finaldate = [dateFormatter dateFromString:currentDate]; 
NSLog(@"CurrentDate:%@", finaldate);