format関数について

解決


かっつん  2005-06-14 16:51:38  No: 122642  IP: [192.*.*.*]

質問がございます。

format関数でformat(20050612,"yyyyMM")としても
上手いこと200506として取得することが出来ません。

イミディエイトウィンドウを使って色々試しているのですが
どのようにすればいいのでしょうか?

編集 削除
ぶぶ  2005-06-14 17:02:04  No: 122643  IP: [192.*.*.*]

>format関数でformat(20050612,"yyyyMM")としても
20050612 を format("2005/06/12","yyyyMM")
で試してみてください。

質問されるときは、OS と VBのバージョンは書くようにしてください(^-^)

編集 削除
かっつん  2005-06-14 17:10:35  No: 122644  IP: [192.*.*.*]

すみませんでした。
WINDOWS XPでVB.NETを使ってます。

>20050612 を format("2005/06/12","yyyyMM")
>で試してみてください。

やってみまたのですが、結果は"yyyyMM"で返ってきてしまいました。

format(now,"yyyyMM")だと上手く200506が取れてくるのですが。

編集 削除
GOMA  2005-06-14 17:38:48  No: 122645  IP: [192.*.*.*]

Format(CDate("2005/06/12"), "yyyyMM")
明示的に日付型に直してからにすると良いです。

編集 削除
かっつん  2005-06-14 18:05:37  No: 122646  IP: [192.*.*.*]

ありがとうございます。
解決いたしました。

日付型にしてからじゃないと駄目みたいですね。

編集 削除
ぶぶ  2005-06-14 21:07:27  No: 122647  IP: [192.*.*.*]

GOMAさんフォローありがとうございます。
VB6.0 Windows2000 で試していましたらcdateかけずにうまく
でたんですが.NETはcdateが必要なんですね(^-^)
ためになりました。

編集 削除
じゃんぬねっと  URL  2005-06-15 12:23:21  No: 122648  IP: [192.*.*.*]

.NET Framework 的にはこうかな。

String.Format({0:yyyyMM}, DateTime.Parse("1981/12/18"))

編集 削除
じゃんぬねっと  URL  2005-06-15 14:31:55  No: 122649  IP: [192.*.*.*]

あ、二重引用符忘れてました。
手書きだったので、許してください。

String.Format("{0:yyyyMM}", DateTime.Parse("2005/04/07"))

編集 削除