掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
取得データを日付としてチェックしたい (ID:61923)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
大まかな流れ。 ◎日付文字列のフォーマットのチェック 1.Chk_dateの文字列を 年 月 日 という文字列に分割 このときに全体の文字列の長さと区切り文字が"-"をいうことをチェックする。 (CStringクラスのGetLength,Midを利用) 2.年 月 日 という文字列を数値に変換 このときに年 月 日 という文字列が数字で構成されていることをチェック(1でやっちゃっても可) (ここは好みだが、_tcstol関数が便利かな) ※_stscanfで1,2を一度でチェックできるが、初心者向けではないかも。 ◎日付の正当性チェック 3.2で取得した、年月日の数値をもとに正当な日付であるかチェックする。 ・年(西暦)はグレゴリウス暦施行翌年以降であるか(上限はシラネ) ・月は1〜12か ・日はきちんとその年、月にあったものであるか ☆1、3、5、7,8,10,12月は31日 ☆4,6,9、11月は30日 ☆2月は閏年の場合29日、閏年でない場合28日 閏年 (1)西暦年が4で割り切れる年。 (2)西暦年が4で割り切れる年のうち、100で割り切れる年は閏年としない。 (3)西暦年が4で割り切れ、100でも割り切れる年のうち、400で割り切れる年。 (ここは単純なif文でもかけます) ※1970年以降であれば、CTimeクラスやmktimeが利用できます。 mktime、_mktime64 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vclib/html/_crt_mktime.asp 以上、間違いがあれば指摘お願いします。 で、一度これでコードを書いてみてください。 それで、どこが具体的にわからないかを質問してください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.