生年月日を年号で
生年月日が西暦で表示されるが,年号で表示されないと不便なので,年号で表示できるようにソースを変更した。これで,受付画面で年齢を表示するようにした時は年号で生年月日を表示するようになり,西暦を知りたい時は,年齢を非表示にすると西暦表示になる。
infomodel/ModelUtils.java の編集
public static String getAgeBirthday(String mmlBirthday) {
String age = getAge(mmlBirthday);
if (age != null) {
StringBuffer buf = new StringBuffer();
buf.append(age);
buf.append(" ");
buf.append(AGE);
buf.append(" (");
//// buf.append(mmlBirthday);
buf.append(toNengo(mmlBirthday));
buf.append(")");
return buf.toString();
}
return null;
}
//// 西暦=>年号変換
public static String toNengo(String mmlBirthday) {
int year;
int month;
int day;
String nengo;
year = Integer.valueOf(mmlBirthday.substring(0,4));
month = Integer.valueOf(mmlBirthday.substring(5,7));
day = Integer.valueOf(mmlBirthday.substring(8,10));
// 1990年より先は平成
if (year >= 1990) {
nengo = "H"; year = year - 1988;
}
// 1989年だったら,1月7日以前は昭和
else if (year == 1989) {
if (month == 1 & day <= 7) {
nengo = "S"; year = 64;
}
else {
nengo = "H"; year = 1;
}
}
// 1927年から1988年は昭和
else if (year >= 1927 & year <= 1988) {
nengo = "S"; year = year - 1925;
}
// 1926年だったら,12月25日以降は昭和
else if (year == 1926) {
if (month == 12 & day >= 25) {
nengo = "S"; year = 1;
}
else {
nengo = "T"; year = 15;
}
}
// 1913年から1925年は大正
else if (year >= 1913 & year <= 1925) {
nengo = "T"; year = year - 1911;
}
// 1912 年だったら,7/30 以降は大正
else if (year == 1912) {
if (month >= 8) {
nengo = "T"; year = 1;
}
else if (month <= 6) {
nengo = "M"; year = 45;
}
else if (day >= 30) {
nengo = "T"; year = 1;
}
else {
nengo = "M"; year = 45;
}
}
// 1911年以前は明治
else {
nengo = "M"; year = year - 1867;
}
StringBuffer buf = new StringBuffer();
buf.append(nengo);
if (year <= 9) buf.append("0");
buf.append(Integer.toString(year));
buf.append("-");
if (month <= 9) buf.append("0");
buf.append(Integer.toString(month));
buf.append("-");
if (day <= 9) buf.append("0");
buf.append(Integer.toString(day));
return buf.toString();
}
« サーバ速度比較 | トップページ | NetBeans の ant の設定 »
「OpenDolphin」カテゴリの記事
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)


