【发布时间】:2015-02-21 07:46:03
【问题描述】:
我有一个 NSString "dateString",它包含给定格式的日期和时间。
"MM/dd/yyyy HH:mm:ss a"。
我想使用 NSDateFormatter 从 dateString 中获取数据,然后尝试在字符串 "strDate" 中显示。我能够获取数据,但唯一的问题是我没有得到 "hour" 地方的正确值。
例如:
dateString = 1/23/2015 7:06:37 AM
strDate = 01/23/2015 00:06:37 am
如何解决此问题。提前致谢。这是我的代码:
-(NSString *)getDateQuestion:(NSString *)dateString
{
NSLog(@"dateString = %@",dateString);
//NSString to NSDate
NSDate *datefromString = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+5:30"]];
[dateFormatter setTimeZone: [NSTimeZone systemTimeZone]];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
datefromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateString1 = %@",datefromString);
//NSDate convert to NSString
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+5:30"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *strDate = [dateFormatter stringFromDate:datefromString];
NSLog(@"strDate = %@",strDate);
return strDate;
}
【问题讨论】:
-
打印日期时,是否设置了时区? NSDate 没有时区信息。
-
是的。我正在使用时区“GMT”。你能建议印度的时区吗?因为我在印度使用 +5:30。
-
能否请您发布用于将字符串转换为日期以及将日期转换为字符串的代码?
-
请帮帮我....我做错了吗?
-
你必须设置一个时区
[NSTimeZone timeZoneWithName:@"GMT+5:30"]或systemTimeZone
标签: ios objective-c iphone date xcode6