元号について

解決


でるぷし  2007-05-25 03:52:42  No: 26268

日付への変換関数について質問です。

元号として入力されたEditBoxのTextプロパティから、
日付型の変数に変換してさらにInteger型にしたいのですが、
StrToDateではうまくできません。
(西暦でないと文字列からの変換不可能?)
なので、例えば、H190524と入力された値を元に、
Date型へ格納するにはどのようにしたら良いでしょうか?
ゴリゴリで自分で変換関数を作成しないと駄目でしょうか?


GTR  2007-05-25 04:19:31  No: 26269

VarToDateTime('H19/05/24')で日付型に変換出来ると思います。


でるぷし  2007-05-25 05:22:57  No: 26270

今度その日付型を元に
西暦に再度変換をかけたいのですが
VarToDateTimeにすると
H19年だと2019年にされてしまいます。
そこを考慮した元号→西暦変換は行えないのでしょうか?


でるぷし  2007-05-25 05:32:15  No: 26271

すみません!
できました!
タイプミスでした・・

これからもよろしくお願いします。


why?  2007-05-25 05:44:15  No: 26272

なりますが...
label1.caption:=DateToStr(VarToDateTime('h19/05/24'));
  表示  >> 2007/05/24
label1.caption:=DateToStr(VarToDateTime('s63/05/24'));
  表示  >> 1988/05/24
..これじゃダメ?


かず  2007-05-25 06:14:26  No: 26273

最終的に整数にするなら

 i := StrToInt(Copy(Edit1.Text, 2, 6));

でいけないのかな?
和暦は文字型で処理した方が楽です。日付は日付型でなくても良いのでは
強引かな?


でるぷし  2007-05-28 22:28:40  No: 26274

元号ってFormatDateTime関数の書式指定で
M,T,S,Hと表現する場合は、自分で作成しないと
駄目ですか?
gだと、平や昭など漢字の1文字にされてしまうので・・


cocomo  2007-05-28 22:49:50  No: 26275

Delphi 3 のHelpです
g 元号の先頭 1 文字を表示する(明,大,昭,平)。2.0 では,英字で表現された先頭 1 文字でしたが,このバージョンで変更されています。
理由はわかりませんが仕様変更されているようです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加