Tapku 日历上标记的日期错误

Posted

技术标签:

【中文标题】Tapku 日历上标记的日期错误【英文标题】:Wrong dates marked on Tapku calendar 【发布时间】:2013-03-28 05:06:28 【问题描述】:

我在我的应用程序中使用 Tapku 日历控件。到目前为止,我能够正确使用它。当我尝试在日历上标记日期时出现问题。 我有以下需要在日历上标记的日期 - 月份是三月,日期是 26、27、28、30。

现在日历开始显示是从 2 月 26 日到 4 月 4 日,其中 2 月 24 日到 2 月 28 日是上个月的日期,现在在日历上标记日期时,日期 26、27、28 是在日历控制框架中显示 2 月和 3 月。在尝试绘制日历数据时,2 月的 26、27、28 日期首先出现并被标记。这是错误的。我想标记三月的日期。

我尝试更改日历控件的开始日期并将其设置为三月开始,但标记未显示。

以下是我正在使用的代码:

 NSDate *date = startDate;


int r ;
int i =0;

if([sortedDatesArray count] > 0)  // check if array is not blank

while(YES)


    // int dt = 9;



    NSString *dtStr = [sortedDatesArray objectAtIndex:i];



    r = [dtStr intValue];

    TKDateInformation info = [date dateInformationWithTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    info.day++;



    if(r + 1 == info.day)



        [dataArray addObject:[NSNumber numberWithBool:YES]];  // stores bool for date value

        if(i < [sortedDatesArray count] - 1)
            i++;
    
    else
        [dataArray addObject:[NSNumber numberWithBool:NO]];

    



    date = [NSDate dateFromDateInformation:info timeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    if([date compare:end]==NSOrderedDescending) break;



//while



//if

【问题讨论】:

我发现 TAPKU 演示也发生了同样的事情......请帮忙。需要显示正确的日期... 请问您存储到数组中的日期格式是什么 dataArray 有 0s 和 1s 形式的日历标记... 因为日期 28 在日历中出现了两次 - 一个是 2 月,一个是 3 月,这两个日期都有标记 :( 我想你只检查日期。您还必须检查月份,我认为如此 【参考方案1】:

感谢 Harish,解决此问题的方法也是检查月份。

【讨论】:

检查月份是什么意思。在我的 api 中,我只有我的日子。在tapku 库中,如果我不添加如下格式,我无法看到我的日期已标记。 self.CalenderDays = [NSArray arrayWithObjects:@"2013-09-01 22:00:00 +0000",@"2013-08-09 22:00:00 +0000",@"2013-10-12 00:00 :00 +0000", 无];例如,通常它应该显示 8 月 9 日,但我看到的是 8 月 10 日,并且也不显示 10 月 12 日,因为我添加了像 00:00:00 +0000 这样的时间?可能是什么问题?

以上是关于Tapku 日历上标记的日期错误的主要内容,如果未能解决你的问题,请参考以下文章

Tapku 库 MarksFrom 来自 Api 的日期

日历中的角度完整日历标题日期格式错误

无法从弹出窗口中的日历为 UITextField 设置值

java日历/格式提供错误的日期

爬取任意两个用户在豆瓣上标记的想读的图书

将 Tapku 库集成到 XCode 4.6 项目