
No.1ベストアンサー
- 回答日時:
ANSI の範囲で考えると、difftime() という関数が利用できます。
difftime() が扱えるのは time_t 型で表した時刻なのですが、整数で表された年月日などを、この
time_t 型に変換する mktime() という関数と組合わせて使います。
こういうふうに使います。
#include <time.h>
#include <stdio.h>
int main()
{
int year1, month1, day1;
int year2, month2, day2;
year1 = 2001; month1 = 12; day1 = 30;
year2 = 2002; month2 = 1; day2 = 16;
{
struct tm d;
time_t t1, t2;
double diff;
// 開始・終了日を time_t 型の変数にする
memset(&d, 0, sizeof(d));
d.tm_year = year1 - 1900;
d.tm_mon = month1 - 1;
d.tm_mday = day1;
t1 = mktime(&d);
d.tm_year = year2 - 1900;
d.tm_mon = month2 - 1;
d.tm_mday = day2;
t2 = mktime(&d);
diff = difftime(t2, t1);
// difftime() の返り値は「秒」で double 型
// ÷60÷60÷24 で日数にして、+0.5 は四捨五入のため
printf("%d 日差.\n", (int)(diff / 60 / 60 / 24 + 0.5));
}
return 0;
}
この回答へのお礼
お礼日時:2002/01/15 18:41
感服いたしました。m(_ _)m
とりあえず補足として
#include <string.h>
が無くて怒られたのでここに追記しておきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlの日付の比較に関して
-
元号判定:Perl初心者です
-
日齢計算プログラム
-
JSONで文字列が長い時
-
qq!!の意味を教えてください。
-
SELECT要素の垂直位置
-
ACCESS テキストボックスを隙...
-
16進の10進変換について
-
セレクトメニューで2つの項目...
-
SELECT OPTIONの中身をコピペ...
-
Application.ScreenUpdating = ...
-
数値かどうかの判定方法
-
実行時エラー 3020の対策
-
ホームページ上にある表に書き...
-
文字の横にプルダウンを表示さ...
-
FindFirst を複数条件で検索
-
途中まで出来ているのですが‥(D...
-
CGIでのページ指定~その(2)
-
linq で 楽天ウェブサービスのX...
-
HASH(0xほげほげ)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語を用いて、2つのファイル...
-
先月(YYYYMM)の生成方法
-
前日の日付取得するには?
-
日付の差分の求め方(日、分)
-
体重が3kg増える/減る の英語...
-
Date::Calcの計算ミス?
-
1桁の日付に0を付ける
-
日齢計算プログラム
-
Perlでsprintf("%02d",$month)...
-
「型が一致しません」のエラー...
-
CGIについて(時間表示)
-
Perlで日付を取得する
-
Perlの日付の比較に関して
-
大至急お願いします。出力で悩み。
-
CSV読み込み時に条件に合う行(...
-
月見る月はこの月の月
-
当日の日付をプルダウンメニュ...
-
質問
-
C言語のプログラミングについて...
-
CGI:Cookie保存期限の指定について
おすすめ情報