gpt4 book ai didi

ios - 如何在不使用 dateFormatter 的情况下从 NSString 获取正确的 NSDate

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:26 24 4
gpt4 key购买 nike

因为 NSDateformatter 不能使用自定义日历,所以对于像这样的日历:

NSCalendar *ISO8601 = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierISO8601];
[ISO8601 setMinimumDaysInFirstWeek:7];
[ISO8601 setFirstWeekday:2];

如果我们需要weekofYear,

此日历会将 2015-04-26 16:00:00 翻译为 2015-16 周。

所以我将得到一个字符串作为2015-16th week

那么如何将字符串 2015-16th week 转换为正确的 NSDate 或 DateComponents,这样如果您转换这个新的 NSDate 或 dateComponents,它就不会失去正确性?

最佳答案

- (NSDate *) dateByAddingWeeks:(NSInteger)dWeeks {

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [[NSDateComponents alloc] init];
NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitTimeZone;
components = [gregorian components:unitFlags fromDate:self];
components.day = components.day + 7 * dWeeks;
return [gregorian dateFromComponents:components];
}

不确定。您是否正在寻找此类效用函数?

关于ios - 如何在不使用 dateFormatter 的情况下从 NSString 获取正确的 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30073934/

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