gpt4 book ai didi

ios - iOS 上的冬至日期

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

我正在组装一个应用程序,该应用程序在夏至和冬至时都利用了太阳的位置。虽然那里有大量数据表,但我想知道是否有任何标准 iOS 组件可用于计算或检索冬至日期,而无需嵌入然后查找数据。

最佳答案

从评论中吸取建议,以下是我为从儒略日期中获取带有小时和分钟的公历日期而实现的方法。

- (NSDate *) dateFromJulianDate:(double)julianDate
{
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *gregorianDate;

double datePart = floor(julianDate);
double timePart = julianDate - datePart + 0.5;

// Really the next calendar day?
if (timePart >= 1.0) {
timePart = timePart - 1.0;
datePart = datePart + 1;
}

double l = datePart + 68569;
double n = floor (4 * l / 146097);
l = floor(l) - floor((146097 * n + 3) / 4);
int year = floor(4000 * (l + 1) / 1461001);
l = l - (floor(1461 * year / 4)) + 31;
int month = floor(80 * l / 2447);
int day = l - floor(2447 * month / 80);
l = floor(month / 11);
month = floor(month + 2 - 12 * l);
year = floor(100 * (n - 49) + year + l);
double hour = timePart * 24.0;
double minutePart = hour - floor(hour);
hour = floor(hour);
double minute = minutePart * 60;
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setYear:year];
[dateComponents setMonth:month];
[dateComponents setDay:day];
[dateComponents setHour:hour];
[dateComponents setMinute:minute];
[dateComponents setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
gregorianDate = [gregorianCalendar dateFromComponents:dateComponents];

return [gregorianDate copy];
}

关于ios - iOS 上的冬至日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16452286/

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