gpt4 book ai didi

objective-c - 如何获取包含任何日期的午夜 NSDates?

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

给定任何 NSDate,我如何获得上一个午夜和下一个午夜的日期?

最佳答案

这非常复杂,但可行:

NSDate *date = ...;
NSUInteger componentFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *parts = [[NSCalendar currentCalendar] components:componentFlags fromDate:date];
NSDateComponents *midnightComponents = [[NSDateComponents alloc] init];
[midnightComponents setDay:[parts day]];
[midnightComponents setMonth:[parts month]];
[midnightComponents setYear:[parts year]];
NSCalendar *cal = [[NSCalendar currentCalendar];
NSDate *midnight = [cal dateFromComponents:midnightComponents];

NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:1];
NSDate *nextMidnight = [cal dateByAddingComponents:offsetComponents toDate: midnight options:0];

与 .NET 甚至 Java 相比,我认为 Apple 的设计有点过于复杂,但它是易于管理的。

关于objective-c - 如何获取包含任何日期的午夜 NSDates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623176/

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