我有一个NSString“ dateString”,其中包含给定格式的日期和时间。
"MM/dd/yyyy HH:mm:ss a"
。
我想使用dateString获取数据NSDateFormatter
,然后尝试显示为String "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 *dat = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC+05:30"]];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
NSString * dateString =[dateFormatter stringFromDate:dat];
NSLog(@"dateString = %@",dateString);
NSLog(@"dateString1 = %@",dateString);
//NSDate convert to NSString
[dateFormatter setDateFormat:@"HH:mm:ss a"];
NSString *strDate = [dateFormatter stringFromDate:dat];
NSLog(@"strDate = %@",strDate);
HH代表24小时。
……坐了12个小时。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句