ios – 如何在没有小时,分钟和秒的情况下创建当前日期(或任何日期)作为NSDate?

ios – 如何在没有小时,分钟和秒的情况下创建当前日期(或任何日期)作为NSDate?,第1张

概述我需要在没有小时,分钟和秒的情况下创建当前日期(或任何NSDate)的NSDate,并将其作为NSDate保留,尽可能少的几行? 我需要对日期执行一些计算,并且有小时,分钟和秒钟导致问题,我需要绝对日期(我希望绝对是正确的短语).它适用于iPhone应用程序. 我正在创建[NSDate date]的日期,这会增加小时,分钟和秒.此外,我正在添加几个月的日期,我认为迎合日光节约,因为我在某些日期得到 我需要在没有小时,分钟和秒的情况下创建当前日期(或任何NSDate)的NSDate,并将其作为NSDate保留,尽可能少的几行?

我需要对日期执行一些计算,并且有小时,分钟和秒钟导致问题,我需要绝对日期(我希望绝对是正确的短语).它适用于iPhone应用程序.

我正在创建[NSDate date]的日期,这会增加小时,分钟和秒.此外,我正在添加几个月的日期,我认为迎合日光节约,因为我在某些日期得到2300小时.

理想情况下,我需要一个函数来从NSDates创建绝对NSDates.

我知道我之前问了一个类似的问题,但是我需要结束NSDate而不是字符串,我有点担心指定日期格式,例如yyyy等

解决方法 首先,你必须明白,即使你从NSDate剥离小时,分钟和秒,它仍然代表一个时刻.你永远不会得到一个NSDate代表整个一天,如2011-01-28;它永远是2011-01-28 00:00:00 00:00.这意味着您还必须考虑时区.

这是一个方法(作为NSDate类实现),它在与self同一天的UTC午夜返回NSDate:

- (NSDate *)mIDnightUTC {    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIDentifIEr:NSGregorianCalendar];    [calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];    NSDateComponents *dateComponents = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit                                                   fromDate:self];    [dateComponents setHour:0];    [dateComponents setMinute:0];    [dateComponents setSecond:0];    NSDate *mIDnightUTC = [calendar dateFromComponents:dateComponents];    [calendar release];    return mIDnightUTC;}
总结

以上是内存溢出为你收集整理的ios – 如何在没有小时,分钟和秒的情况下创建当前日期(或任何日期)作为NSDate?全部内容,希望文章能够帮你解决ios – 如何在没有小时,分钟和秒的情况下创建当前日期(或任何日期)作为NSDate?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存