gpt4 book ai didi

ios - 仅从核心数据中的 (datetime) 格式获取 (date)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:30 25 4
gpt4 key购买 nike

我正在使用核心数据并以日期和时间格式存储一个值。但是我想在获取日期和时间格式时只获取(日期)格式。

最佳答案

NSDate 是绝对时间点,Core Data 将日期存储为秒数自“引用日期”2001 年 1 月 1 日起。所以严格来说,不存在“没有时间的约会”。

如果你想显示日期的年、月、日……那么你必须使用 NSDateFormatter或 NSDateComponents - 正如其他人已经说过的那样 - 将日期转换为人类可读的日期格式。

但根据您的评论,我假设您想要获取指定的所有对象日。在这种情况下,您必须首先计算给定日期的开始和结束日期:

NSDate *yourDate = ...;
NSDate *startOfDay, *endOfDay;
NSTimeInterval lengthOfDay;
NSCalendar *cal = [NSCalendar currentCalendar];
[cal rangeOfUnit:NSDayCalendarUnit startDate:&startOfDay interval:&lengthOfDay forDate:yourDate];
endOfDay = [startOfDay dateByAddingTimeInterval:lengthOfDay];

或者,如果日期以年、月、日形式给出:

NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
comps.year = 2014;
comps.month = 1;
comps.day = 14;
NSDate *startOfDay = [cal dateFromComponents:comps];
comps.day += 1;
NSDate *endOfDay = [cal dateFromComponents:comps];

然后使用谓词查找一天开始和结束之间的所有记录:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date >= %@ AND date < %@",
startOfDay, endOfDay];

这将获取与给定的 yourDate 在同一天具有“日期”的所有对象。

关于ios - 仅从核心数据中的 (datetime) 格式获取 (date),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22959884/

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