- 題名: 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")ですぐできたのに。。。。
どなたか知っている方よろしくお願いします。