×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
和暦。
平成とか昭和とかそういうやつですね。
当然、日本でしか使ってないです。
んで、本日のネタは、とってきた西暦を和暦に変えたい!です。
(1)西暦 - 1989 で無理やり平成を取得。
利点:簡単。
欠点:平成しか使えない。
(2)JapaneseImperialCalendarを使う。
利点:簡単。
欠点:Java6以降の対応です。。。
(3)ネットで見つけたすごい和暦クラス
利点:存在しない日付にも対応
欠点:よくわかんないけれども、現在の年号がほしいだけの自分にはちょっとあれな気がした。
自分が触っていたブツは幸いにもJava6だったので、(2)を使おう。。。。として、なぜかうまくいきませんでした。「平成」って出てほしいのに、「西暦」と表示される謎。
明日なんとかします。
平成とか昭和とかそういうやつですね。
当然、日本でしか使ってないです。
んで、本日のネタは、とってきた西暦を和暦に変えたい!です。
(1)西暦 - 1989 で無理やり平成を取得。
利点:簡単。
欠点:平成しか使えない。
(2)JapaneseImperialCalendarを使う。
利点:簡単。
欠点:Java6以降の対応です。。。
(3)ネットで見つけたすごい和暦クラス
利点:存在しない日付にも対応
欠点:よくわかんないけれども、現在の年号がほしいだけの自分にはちょっとあれな気がした。
自分が触っていたブツは幸いにもJava6だったので、(2)を使おう。。。。として、なぜかうまくいきませんでした。「平成」って出てほしいのに、「西暦」と表示される謎。
明日なんとかします。
PR
この記事にコメントする
無題
1) 日付文字列をDate型にするクラス
http://sattontanabe.blog86.fc2.com/blog-entry-46.html
2) 1)で生成したDate型から"GGGG年MM月dd日"でformat
http://www.javainthebox.net/laboratory/JavaSE6/imperialcalendar/imperialcalendar.html
※「平成」って文字だけ取りたければ
format文字列を"GGGG"にすればOK!
※重要なのは、文字列からDate型にしたときのロケールです。
普通にしただけでは日本時間になりません。
ロケールを指定してあげましょう。
例:
SimpleDateFormat("yyyy/MM/dd", Locale.JAPANESE);
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class ImperialCalendarSample {
public ImperialCalendarSample() {
Locale.setDefault(new Locale("ja", "JP", "JP"));
Calendar cal = Calendar.getInstance();
System.out.println(cal);
System.out.println();
DateFormat format = new SimpleDateFormat("GGGGyy年 MMMM d日");
String stamp = "2009/06/24";
DateFormat stampFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.JAPANESE);
Date date = null;
try {
date = stampFormat.parse(stamp);
} catch (Exception e) {
System.out.println("Unable to parse date stamp");
}
System.out.println(date);
System.out.println(format.format(date));
System.out.println(new Date());
}
public static void main(String[] args) {
new ImperialCalendarSample();
}
}
http://sattontanabe.blog86.fc2.com/blog-entry-46.html
2) 1)で生成したDate型から"GGGG年MM月dd日"でformat
http://www.javainthebox.net/laboratory/JavaSE6/imperialcalendar/imperialcalendar.html
※「平成」って文字だけ取りたければ
format文字列を"GGGG"にすればOK!
※重要なのは、文字列からDate型にしたときのロケールです。
普通にしただけでは日本時間になりません。
ロケールを指定してあげましょう。
例:
SimpleDateFormat("yyyy/MM/dd", Locale.JAPANESE);
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class ImperialCalendarSample {
public ImperialCalendarSample() {
Locale.setDefault(new Locale("ja", "JP", "JP"));
Calendar cal = Calendar.getInstance();
System.out.println(cal);
System.out.println();
DateFormat format = new SimpleDateFormat("GGGGyy年 MMMM d日");
String stamp = "2009/06/24";
DateFormat stampFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.JAPANESE);
Date date = null;
try {
date = stampFormat.parse(stamp);
} catch (Exception e) {
System.out.println("Unable to parse date stamp");
}
System.out.println(date);
System.out.println(format.format(date));
System.out.println(new Date());
}
public static void main(String[] args) {
new ImperialCalendarSample();
}
}
カレンダー
04 | 2024/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
カテゴリー
最新コメント
最新記事
(04/17)
(04/17)
(04/14)
(04/05)
(02/04)
最新トラックバック
プロフィール
HN:
ゆうひ
性別:
非公開
自己紹介:
はやく一人前になりたーい(謎)
成長していければいいな。。。
成長してるよね?
自称・メイドプログラマー(修行中)
料理の味付けはおおざっぱ。
成長していければいいな。。。
成長してるよね?
自称・メイドプログラマー(修行中)
料理の味付けはおおざっぱ。
ブログ内検索
カウンター
クリック募金♪
世界樹の迷宮