iOS从年中的某一天获取日期

hc8w905p  于 2023-05-23  发布在  iOS
关注(0)|答案(1)|浏览(121)

stackoverflow上的常见问题是如何从日期中获取日期,但如何从日期中获取日期?
我使用下面的代码来生成一年中的第几天,但我如何做匡威的呢?

// Calculate Day of the Year
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSUInteger dayOfYear = [gregorian ordinalityOfUnit:NSDayCalendarUnit inUnit:NSYearCalendarUnit forDate:[NSDate date]];
    setDayOfYear = dayOfYear;
    return setDayOfYear;
qfe3c7zg

qfe3c7zg1#

假设你知道你想要的年份,日期的实际时间并不重要,你已经设置了正确的区域设置和时区,你可以把一年中的一天和一年从组件转换回一个日期。同样,你可能需要决定你的应用程序需要对时间组件做什么,你必须确保日期和年份对日历有意义,但是假设你在例子中列出的是公历,2013年的第200天(2013年7月19日),你可以这样做:

NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:200];
[components setYear:2013];
NSDate *july19_2013 = [gregorian dateFromComponents:components];

如果我运行这个,我会得到一个日期,即2013年7月19日@07:00,因为我当前的地区是在一个时区相当于美国/洛杉矶,我没有配置日历。

相关问题