1
私は、日付オフセット(つまり、1899年12月31日からの日数)から日付を決定する方法をCで探しています。たとえば、void get_date(const struct date start_date, int offset);
となります。基本的に、date
構造体を持つシンプルなライブラリです(ただし、時間のサポートはありません)。それはうるう年や日付特有のものを処理する必要がありますが、時間に関係するものはありません(例えば、うるう秒やその他の合併症)。C:ユリウス日ライブラリー - 日付オフセット(Xからの日数)から日付(つまり、yyyy/mm/dd)を取得するにはどうすればよいですか?
struct date start_date = {
.date_day = 31, // 31
.date_month = 12, // December
.date_year = 1899, // 1899
};
/* From and including: December 31, 1899
* To, but not including : December 8, 2010
* It's 40,519 days from the start date to the end date,
* but not including the end date: [start_date, end_date) */
get_date(start_date, 40519); // Prints something like "2010-12-08".
理想的には、ライブラリが潜在的にバックエポック1月1日、4713 BCへ行く、Julian daysをサポートする必要があります。
これは、1970年 – wallyk
、それは確信して前の日付では動作しません。 POSIX time_tが署名されています。 – zwol
'@Zack:' time_tはどこまで戻っていますか?私は1800年代にさかのぼる日付を持っています... – Galois