16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"YY to YYYY変換 function"
この発言に対し以下のコメントが寄せられています
#00792 裏目小僧 さん RE:YY to YYYY変換 function
いよいよ2000年も間近に迫りました。 年を2桁で記録するのは
HDやFDへの記録の為に普通に行われている事です。2桁で記録した年
を4桁の西暦に変換する関数を作ってみました。
{ xxに2桁の年を与えて yyyyに当年を4桁を与えると 4桁の年を返す
pastは通常は50を渡す。こうすれば当年の前後±49の年を返して
くれます
xxが 製造日や記録日のように当年より必ず過去であれば
pastに0を渡す。これで99年前迄正常に年計算出来ます。
xxが 予定日のように当年より必ず前でかつ当日を超せば削除される
ような性質であれば pastに-1を渡す。
xxが カードの有効期限のように10当年から10年くらい先迄あり
うるがそれ以上は過去と判断したいような場合は pastを -10に
}
function YYtoYYYY(xx,yyyy,past:integer):integer;
begin
if past <0 then past:=+100;
xx:=(xx+10000-yyyy) MOD 100;
if xx>past then xx:=9900+xx;
result:=(yyyy+xx) MOD 10000;
end;
Original document by 裏目小僧 氏 ID:(GGA03463)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|