×
[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();
}
}
					カレンダー				
				| 09 | 2025/10 | 11 | 
| 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:
	
ゆうひ
性別:
	
非公開
自己紹介:
	
				はやく一人前になりたーい(謎)
成長していければいいな。。。
成長してるよね?
自称・メイドプログラマー(修行中)
料理の味付けはおおざっぱ。
成長していければいいな。。。
成長してるよね?
自称・メイドプログラマー(修行中)
料理の味付けはおおざっぱ。
					ブログ内検索				
				
					カウンター				
				
					クリック募金♪				
				
					世界樹の迷宮				
				 
	
