gpt4 book ai didi

c++ - 贾拉利日历

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:13:37 24 4
gpt4 key购买 nike

是否有任何函数可以直接将 Unix 时间戳(由 time() [ctime 库] 返回)转换为 struct tm 或在 Jalali 中保存日期和时间的东西?格式?

而且我不是在寻找一种将公历转换为贾拉利的方法。我正在寻找一种算法来将 time(NULL) 返回的时间直接转换为 Jalali 日历。

最佳答案

我开发了一个类似的算法来转换 Julian Day Number太阳回历 (~= Jalali) 日历日期。原则是相同的:取一个引用时间点(在您的例子中是 1970-01-01,等于 JDN #2440587)并计算从那时起过去了多少年、月和日。我的算法基于 Akramis 的平均年计算,它与伊朗官方日历(近期相同)有很好的一致性。

此处提供 C 实现:

https://github.com/soroush/libcalendars/blob/dev/src/cl-solar-hijri.c

请注意,您只能通过添加 2440587 偏移量才能将 unix 时间转换为 JDN。所以你需要:

int16_t year;
uint8_t month;
int16_t day;
jdn_to_sh(unix_time + 2440587, &year, &month, &date);

关于c++ - 贾拉利日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44735322/

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