- 題名: VB.NET 2003 和暦->西暦への変換について
- 日時: 2004/07/13 11:07:08
- ID: 4813
- この記事の返信元:
- (なし)
- この記事への返信:
- [4818] Re[1]: VB.NET 2003 和暦->西暦への変換について2004/07/13 14:29:58
- [4821] Re[1]: VB.NET 2003 和暦->西暦への変換について2004/07/13 15:16:50
- ツリーを表示
■No4813に返信(KENさんの記事)
KENさん、こんにちは。深山と申します。
> 西暦->和暦に変換はあったのですがその逆がみつかりません。
> 4160713 --> 20040713に変換するようなものは.NETにあるのでしょうか?
ここでいう「西暦->和暦に変換」とは『日付型から文字列型への変換』、
「4160713 --> 20040713に変換」とは『文字列型から日付型への変換』という解釈で
よろしいでしょうか?
どちらにせよ、
> VBだと format(now,"gyymmdd")ですぐできたのに。。。。
と噛み合わない気もしますけど(^_^;)、上述の前提で回答させて頂きます。
# 意図を外してるようでしたら流して下さいませ。
結論からいうと(多分)直接変換することは出来ません。
"4160713" にある先頭の "4" は平成を表してるのだと思われますが、この対応付けを
行うものが書式指定文字列にありませんから。
ただ、これが "平成160713" なら以下のような形で変換することが可能です。
Dim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("ja-JP")
Dim format As System.Globalization.DateTimeFormatInfo = ci.DateTimeFormat
format.Calendar = New System.Globalization.JapaneseCalendar()
Console.WriteLine(DateTime.ParseExact("平成160713", "gyyMMdd", format))
DateTimeFormatInfo クラスの GetEraName メソッドを使用することで 4 から "平成" を
取得することができますので、一旦文字列を加工すればお望みの結果が得られると思います。
# あぁ、とろとろ書いてたら先に返信が(汗)
分類:[.NET]
西暦->和暦に変換はあったのですがその逆がみつかりません。
4160713 --> 20040713に変換するようなものは.NETにあるのでしょうか?
VBだと format(now,"gyymmdd")ですぐできたのに。。。。
どなたか知っている方よろしくお願いします。