
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ランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
DLLファイルの逆コンパイラにつ...
-
C言語 関数、変数の宣言について
-
C言語でファクト関数を使わずに...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
バッチファイルで以下のような...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
c言語
-
VisualStudio2022でC言語プログ...
-
ストリームについて。
-
Cのオブジェクトファイルの逆ア...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語を用いて、2つのファイル...
-
先月(YYYYMM)の生成方法
-
前日の日付取得するには?
-
日付の差分の求め方(日、分)
-
体重が3kg増える/減る の英語...
-
Date::Calcの計算ミス?
-
1桁の日付に0を付ける
-
日齢計算プログラム
-
Perlでsprintf("%02d",$month)...
-
「型が一致しません」のエラー...
-
CGIについて(時間表示)
-
Perlで日付を取得する
-
Perlの日付の比較に関して
-
大至急お願いします。出力で悩み。
-
CSV読み込み時に条件に合う行(...
-
月見る月はこの月の月
-
当日の日付をプルダウンメニュ...
-
質問
-
C言語のプログラミングについて...
-
CGI:Cookie保存期限の指定について
おすすめ情報