• ベストアンサー

format関数

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

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

nakatanakanaka
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.2

#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関数にて元号表示に変換する、という形です。

nakatanakanaka
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AccessのFormat関数について

    AccessのFormat関数に関しまして質問致します。 和暦を西暦へ更新クエリを使用してコンバートしているのですが入力されているデータの中に「平成15年2月31日」等の不可思議なデータが入力されており変換に困っています。 Format関数でエラーになった場合、Nullを返すように出来ませんでしょうか? <現在> =Format([年月日],"yyyy/mm/dd") 更新時にエラーが表示されNullが入力される事は重々承知しておりますが、何か不安ですので^^;

  • format関数についてです。

    A→0A、B→0B、C→0Cという風にFORMAT関数で変換 したいでです。 format("A","00")の結果は「A」です。 どのような文字列で、変換できるのでしょうか? それともこのような処理は、format関数ではできないのでしょうか? 今は力づくで、"A"なら"0A"、"B"なら"0B"と select文で書いています。

  • 通貨のフォーマット関数について

    1000という値を\1,000というようなフォーマットに変換する関数はありましたでしょうか。

    • ベストアンサー
    • PHP
  • format関数について

    VBで時刻をミリ秒まで表示したいのですが FORMATでSSより小さな単位ありますか? もしくはFORMAT関数を使用しないで表示できますか?

  • AccessのFormat関数について

    Access2002を利用しています。 ある問題集を解いているのですが、売上データのT-売上マスターの売上日のフィールドをyyyy年mm月という書式で表示するという問題なのですが、解答をみると、 Format$(フィールド名,書式)となっているんです。 Format(フィールド名,書式)というのは分かるのですが、 Format関数の後に$マークがついている意味合いが分かりません。 Format関数の引数の前に$マークがついているのはなぜでしょうか?

  • VB6.0 のformat関数について

    VB6.0(SP5)のformat関数にて、以下のような場合、異なる結果が帰ってきます。 どのような仕様で結果が異なるのでしょうか?  Format("20050101-1", "0") → "20050101-1" と帰ってきます。  Format("20060101-1", "0") → "1528543" と帰ってきます。 分かる方がいらっしゃたら、お願いします。

  • ASPでVBのFormat関数のような機能を使用したい

    ASPでVBのFormat関数のような機能を使用したいのですが無理でしょうか? (例) 1 を → "00001" に変換したい (例2) 10 を → "00010" に変換したい VBで使用してた機能 Result = Format(1,"00000") 上記のような機能をASPでありますでしょうか? どなたかご存知の方ご教授お願いいたします。

  • VBのFORMAT関数

    VBのFORMAT関数についての質問です。 Format(変数,"!") "!"<--これの書式って どのような意味(書式)なんでしょうか? ランゲージレファレンスにも載っていませんでした。 よろしくお願いします

  • Excel 関数日付

    平成27年12月 1日→2015/12/1 平成27年4月 1日→2015/4/1 平成26年5月 19日→2014/5/19 関数で変換の仕方を教えてください。

  • Format関数の戻り値

    Format関数で戻り値がおもうようにとれません。 どうしてかわからず困っています。 以下の2パターンの違いがわかりません "0A"はなぜ"00"になってしまうのですか? (VBバージョンは6.0です) format("0D","00") 結果 "0D" format("0A","00") 結果 "00"