相关疑难解决方法(0)

17
推荐指数
1
解决办法
2744
查看次数

来自NSDate的意外值

我想把时间存放在约会中.在这种情况下1.5秒.我把时间存储在这样的日期:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mm:ss.SS"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];  
NSDate *date1 = [dateFormatter dateFromString:@"00:01.50"];
Run Code Online (Sandbox Code Playgroud)

但是,如果我查看调试区域,我可以看到date1的值设置为:

date1 = (NSDate *) 0x1dd32b30 2000-01-01 01:00:01 CET
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么会这样?

objective-c nsdate nsdateformatter ios

2
推荐指数
1
解决办法
734
查看次数

NsDate格式化程序从String给出错误的日期

我有以下代码,它采用NSString并返回NSDate.我已经从一个完全正常运行的项目中复制了这个代码 - 但是有些如何给出错误的输出

- (NSDate *)dateFromString:(NSString *)date
{
    static NSDateFormatter *dateFormatter;
    if (!dateFormatter)
    {
        dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    }

    NSLog(@"Date: %@ Formatted: %@",date,[dateFormatter dateFromString:date]);

    return [dateFormatter dateFromString:date];
}
Run Code Online (Sandbox Code Playgroud)

输出来自日志:

Date: 07-01-2014 Formatted: 2014-01-06 18:30:00 +0000
Date: 24-01-2014 Formatted: 2014-01-23 18:30:00 +0000
Date: 06-01-2014 Formatted: 2014-01-05 18:30:00 +0000
Date: 15-01-2014 Formatted: 2014-01-14 18:30:00 +0000
Date: 22-01-2014 Formatted: 2014-01-21 18:30:00 +0000
Date: 31-01-2014 Formatted: 2014-01-30 18:30:00 +0000
Date: 14-01-2014 Formatted: 2014-01-13 18:30:00 +0000
Date: 30-01-2014 Formatted: 2014-01-29 18:30:00 +0000 …
Run Code Online (Sandbox Code Playgroud)

nsdate nsdateformatter ios

2
推荐指数
1
解决办法
4614
查看次数