从字符串NSDate
问题描述:
我有一个字符串“2012-09-16 23:59:59 JST” 我想将此日期字符串转换为NSDate。从字符串NSDate
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"];
NSDate *capturedStartDate = [dateFormatter dateFromString: @"2012-09-16 23:59:59 JST"];
NSLog(@"%@", capturedStartDate);
但它不工作。它给予null值。请帮助..
答
当使用24小时时间,小时符必须是这样一个大写的H:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
检查这里的正确说明符:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
但是,你需要设置区域设置的日期格式:
// Set the locale as needed in the formatter (this example uses Japanese)
[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"]];
全部工作代码:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"]];
NSDate *capturedStartDate = [dateFormatter dateFromString: @"2012-09-16 23:59:59 JST"];
NSLog(@"Captured Date %@", [capturedStartDate description]);
输出(GMT):
Captured Date 2012-09-16 14:59:59 +0000
答
NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// end
dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter release];
答
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *capturedStartDate = [dateFormatter dateFromString: @"2012-09-16 23:59:59 GMT-08:00"];
NSLog(@"%@", capturedStartDate);
+1
这可能对某人某一天有用:Keen.io时间戳格式 '[formatter setDateFormat:@“yyyy -MM-dd'T'HH:mm:ss.SSS'Z'“];'我不需要设置语言环境。 –
+0
答案今天对我有用;) –
哎@danielbeard,如u表示,将显示时间GMT,这将显示出从确切日期为9小时的时间差。如何从字符串中获取确切的日期.. ?? – NiKKi
日期本身没有时区,但是您可以在上面设置的NSDateFormatter中使用带有'stringFromDate'的时区获取字符串表示。 – danielbeard
查看此处了解更多详情http://*.com/questions/1862905/nsdate-convert-date-to-gmt – danielbeard