gpt4 book ai didi

ios - NSDateComponents 日期之间的差异给出了错误的输出

转载 作者:行者123 更新时间:2023-11-28 22:33:20 25 4
gpt4 key购买 nike

我正在尝试获取两个日期之间的差异,它应该以天为单位显示。

NSLog(@"%@", [NSDate date]);

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/mm/yyyy"];

NSDate *formattedDate = [formatter dateFromString: [NSString stringWithFormat:@"31/05/2013"]];


NSDate *startDateForDays = [NSDate date];
NSDate *endDateForDays = formattedDate;

NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];

NSUInteger unitFlagsForDays = NSDayCalendarUnit;

NSDateComponents *componentsForDays = [gregorian components:unitFlagsForDays
fromDate:startDateForDays
toDate:endDateForDays options:0];

NSLog(@"%@", [NSString stringWithFormat:@"%i days until %@", [componentsForDays day], formattedDate]);

输出看起来像这样:

2013-05-29 20:21:51 +0000
118 days until 2013-01-30 23:05:00 +0000

我不知道我的代码有什么问题,希望您能帮助我。

最佳答案

我知道你已经解决了你的问题,只是指出你可以通过省略无符号整数位来简化一点。

NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
fromDate:startDate
toDate:endDate
options:0];

这应该是评论而不是答案,但我不能评论,即使我应该能够评论。

关于ios - NSDateComponents 日期之间的差异给出了错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16823244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com