日付への変換関数について質問です。
元号として入力されたEditBoxのTextプロパティから、
日付型の変数に変換してさらにInteger型にしたいのですが、
StrToDateではうまくできません。
(西暦でないと文字列からの変換不可能?)
なので、例えば、H190524と入力された値を元に、
Date型へ格納するにはどのようにしたら良いでしょうか?
ゴリゴリで自分で変換関数を作成しないと駄目でしょうか?
VarToDateTime('H19/05/24')で日付型に変換出来ると思います。
今度その日付型を元に
西暦に再度変換をかけたいのですが
VarToDateTimeにすると
H19年だと2019年にされてしまいます。
そこを考慮した元号→西暦変換は行えないのでしょうか?
すみません!
できました!
タイプミスでした・・
これからもよろしくお願いします。
なりますが...
label1.caption:=DateToStr(VarToDateTime('h19/05/24'));
表示 >> 2007/05/24
label1.caption:=DateToStr(VarToDateTime('s63/05/24'));
表示 >> 1988/05/24
..これじゃダメ?
最終的に整数にするなら
i := StrToInt(Copy(Edit1.Text, 2, 6));
でいけないのかな?
和暦は文字型で処理した方が楽です。日付は日付型でなくても良いのでは
強引かな?
元号ってFormatDateTime関数の書式指定で
M,T,S,Hと表現する場合は、自分で作成しないと
駄目ですか?
gだと、平や昭など漢字の1文字にされてしまうので・・
Delphi 3 のHelpです
g 元号の先頭 1 文字を表示する(明,大,昭,平)。2.0 では,英字で表現された先頭 1 文字でしたが,このバージョンで変更されています。
理由はわかりませんが仕様変更されているようです。
ツイート | ![]() |