无法从字符串中获取日期?
Unable to get date from string?
我从服务器“8/27/2016 6:56:23 AM”获取 DateTime
字符串
我想从这个字符串中获取唯一的日期。
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMdd"];
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
但问题是我在 date1 中得到了 null。
请帮我找出我哪里做错了。
喜欢
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"]; or use hh:mm:ss a
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
[dateFormatter setDateFormat:@"yyyyMMdd"];
NSString *ssecond=[dateFormatter stringFromDate:date1];
NSDate *finalDate=[dateFormatter dateFromString:ssecond];
最终输出为
你用错了dateFormat
。请用以下内容替换您的代码:
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
您的日期格式必须与您的日期字符串匹配。
因此,如果您的日期字符串是 8/27/2016 6:56:23 AM
,那么您的格式必须是 MM/dd/yyyy hh:mm:ss a
。然后使用这种格式首先从字符串中获取日期,例如
NSDate *date=[df dateFromString:StreamStartDateTime];
现在,将日期格式化程序更改为您希望日期显示的任何格式,
[df setDateFormat:@"yyyyMMdd"];
然后
NSString *resultDateStr = [df stringFromDate:date];
可以这样试试
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *streamStartDate = [formatter dateFromString:StreamStartDateTime];
[formatter setDateFormat:@"yyyyMMdd"];
NSString *strDate = [formatter stringFromDate:streamStartDate];
NSDate *compDate = [formatter dateFromString:strDate]; // Get date in UTC format
输出:
strDate的打印说明:
20160827
compDate的打印说明:
2016-08-26 18:30:00 +0000
NSString *LiveStreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *date1=[dateFormatter dateFromString:LiveStreamStartDateTime];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSString *fisrtdate=[dateFormatter stringFromDate:date1];
NSDate *date11 = [dateFormatter dateFromString:fisrtdate];
我从服务器“8/27/2016 6:56:23 AM”获取 DateTime
字符串
我想从这个字符串中获取唯一的日期。
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMdd"];
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
但问题是我在 date1 中得到了 null。
请帮我找出我哪里做错了。
喜欢
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"]; or use hh:mm:ss a
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
[dateFormatter setDateFormat:@"yyyyMMdd"];
NSString *ssecond=[dateFormatter stringFromDate:date1];
NSDate *finalDate=[dateFormatter dateFromString:ssecond];
最终输出为
你用错了dateFormat
。请用以下内容替换您的代码:
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date1=[dateFormatter dateFromString:StreamStartDateTime];
您的日期格式必须与您的日期字符串匹配。
因此,如果您的日期字符串是 8/27/2016 6:56:23 AM
,那么您的格式必须是 MM/dd/yyyy hh:mm:ss a
。然后使用这种格式首先从字符串中获取日期,例如
NSDate *date=[df dateFromString:StreamStartDateTime];
现在,将日期格式化程序更改为您希望日期显示的任何格式,
[df setDateFormat:@"yyyyMMdd"];
然后
NSString *resultDateStr = [df stringFromDate:date];
可以这样试试
NSString *StreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *streamStartDate = [formatter dateFromString:StreamStartDateTime];
[formatter setDateFormat:@"yyyyMMdd"];
NSString *strDate = [formatter stringFromDate:streamStartDate];
NSDate *compDate = [formatter dateFromString:strDate]; // Get date in UTC format
输出:
strDate的打印说明: 20160827
compDate的打印说明: 2016-08-26 18:30:00 +0000
NSString *LiveStreamStartDateTime=@"8/27/2016 6:56:23 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *date1=[dateFormatter dateFromString:LiveStreamStartDateTime];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSString *fisrtdate=[dateFormatter stringFromDate:date1];
NSDate *date11 = [dateFormatter dateFromString:fisrtdate];