format関数で 2003年 を 平成15年 に変換したいのですが・・・どなたか教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Format(Now, "GGGE年MM月DD日 HH:NN:SS")



"平成15年11月06日 11:40:01"
と出ます。
GGGが元号(明治・昭和・平成)で
Eが和暦年です。
ちなみに
Gは元号(M・S・H)で
EEとすると一桁年に0を付与します(平成09年)

この回答への補足

ありがとうございます。実際にやってみたのですが、now の部分を2003という文字で変換すると、明治38年になってしまいます。なぜでしょうか?

補足日時:2003/11/06 12:18
    • good
    • 0

#1です。


「Now」は現在のシステム日付をDATE型で返却する関数です。
なので、Nowの部分にはDATE型でいれなくてはなりません。

というわけで回答は
--------------------------------(コード)
Dim iYear As Integer
Dim sYear As String
iYear = 2003
sYear = Format(CDate(CStr(iYear) & "/01/01"), "GGGE年")
--------------------------------(結果)
sYear = "平成15年"

となります。
解説をしますと
CDate関数は"YYYY/MM/DD"という形式になっている文字列をDATE型に変換する関数です。
CStr関数は数値を文字列に変換する関数です。
なのでCStr(iYear) & "/01/01"で、文字列"2003/01/01"を作り、それをDATE型に変換、
それに対しFormat関数にて元号表示に変換する、という形です。
    • good
    • 0
この回答へのお礼

Mizyuさん大変ありがとうございました。
回答を見させていただいて実行したところ、うまくいきました。
ありがとうございました。

お礼日時:2003/11/06 18:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング