1

我有一个字符串:
stringValue = 2013-06-11 06:01:28.

当我尝试使用 NSDateFormatter 转换它时,它变成这样:
date = 2013-06-10 22:01:28 +0000.

我读过它们是同一时间点。事实上,当我得到日期的字符串值时,我得到了上面的字符串。

如果它们相同,有没有办法让日期的值等于我上面的字符串?我可以有一个 NSDate *date = 2013-06-11 06:01:28 吗?如果是,我该怎么做?

4

2 回答 2

1

发生这种情况是因为当您将字符串转换为日期时,它会转换为 GMT 时间格式

如果您希望日期与字符串值相同,则必须设置标准本地时间

 NSDate *date=[[NSDate alloc]init];
 NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
 [timeFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Kolkata"]];
 [timeFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss'"];
 date  = [timeFormat dateFromString:@"2013-06-11 06:01:28"];

希望它可以帮助你

于 2013-06-11T11:33:28.167 回答
0

使用此格式化程序:

NSDateFormatter* f = [[[NSDateFormatter alloc] init] autorelease];
[f setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
于 2013-06-11T11:20:28.573 回答