Dateformatter获得日期从字符串(Dateformatter to get Date Fr

2019-07-31 02:31发布

我的字符串是这样的, 2012-12-08 17:00:00.0 。 现在我尝试使用NSDate的格式来检索该字符串的日期。 我的代码

NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-dd-MM hh:mm:ss"]; 
NSDate *date1 = [df dateFromString:@"2012-12-08 17:00:00.0"];
NSLog(@"%@ %@",date1);
[df release];

但是,所有我得到的是单独空值..

我已尝试数种至dateFormatter等, yyyy/mm/dd hh:mm:ssYYYY-DD-MM HH:MM:SS ..但仍然没有利用..任何建议将受到赞赏。

Answer 1:

假设你刚刚把一个空字符串后的文字错误和你的实际日期是在您的文章中所述,您需要使用HH代替hh解析在24小时制小时。 您还需要添加.S到您的格式字符串来分析你的时间字符串的最后一个零:

NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-dd-MM HH:mm:ss.S"];
//                 here -------^^       ^------ and here
NSDate *date1 = [df dateFromString:@"2012-12-08 17:00:00.0"];
NSLog(@"%@",date1);

这产生了预期的输出(在小时差异是由于时区差):

2012-08-12 21:00:00 +0000


Answer 2:

有秒后的持续时间差距,也有你在dateformatter输入错过strDate。

NSString *strDate = @"2012-12-08 17:00:00.0";
NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-dd-MM hh:mm:ss.S"]; 
NSDate *date = [df dateFromString:strDate];// formatter format
NSLog(@"%@ %@",date);
[df release];


Answer 3:

NSDateFormatter *dateformat=[[NSDateFormatter alloc]init];
[dateformat setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
NSDate *today = [NSDate date];
NSString *currentDate=[dateformat stringFromDate:today];
NSLog(@"PrintToday Date is %@ ",currentDate);

的NSDate * DATE1 = [DF dateFromString:@ “”];

你需要传递串在你上面的行



Answer 4:

做这个:

NSString *strDate = @"2012-12-08 17:00:00.0";
NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-dd-MM HH:mm:ss.S"]; 
NSDate *date1 = [df dateFromString:strDate];// forgot to add valid string for according to date formatter format
NSLog(@"%@",date1);
[df release];


文章来源: Dateformatter to get Date From String