對日開發中可能會經常遇到日期格式的轉換,最頭疼的就是系統時間轉日本和歷的問題。
多數的時候大家都是自己寫函式來計算日本各時期皇帝的在位時間來進行轉換的,其實.net中已經內建日本這一特殊的日曆計算演算法。
運用globalization下的calendar和calendar 類我們就很容易的進行這種西曆與和歷的轉換,而不需要寫大量的**進行和歷的計算。
西曆轉和曆函式示例1:格式(平成年月日)
1stringbuilder strmsg
=new
stringbuilder();23
+string
.format(""
, 0100
));4
+string
.format(""
, 0100
));5
6system.globalization.cultureinfo ci
=new
system.globalization.cultureinfo(
"ja-jp");
7system.globalization.calendar cal
=new
system.globalization.japanesecalendar();
8ci.datetimeformat.calendar
=cal;
9messagebox.show(datetime.parse(
"1990/09/06
").tostring(
"ggy年m月d日
", ci)
+strmsg.tostring());
第9行中的日期格式還有多種
11、ggy年m月d日
2、ggy年mm月d日
3、ggy年m月dd日
4、ggy年mm月dd日
原理很簡單就不做解釋了,不明白的同學可以自己測試一下就明白了。
西曆轉和曆函式示例2:格式(h年月日)
system.globalization.cultureinfo ci
=new
system.globalization.cultureinfo(
"ja-jp");
2system.globalization.calendar cal
=new
system.globalization.japanesecalendar();
3ci.datetimeformat.calendar
=cal;45
datetime dt
=datetime.parse(
"2006/09/26");
6type t
=typeof
(system.globalization.datetimeformatinfo);
7system.reflection.propertyinfo pi
=t.getproperty(
"abbreviatedenglisheranames
", system.reflection.bindingflags.nonpublic
|system.reflection.bindingflags.instance);89
string
engeras =(
string
)pi.getvalue(ci.datetimeformat,
null
);10
intera
=cal.getera(dt);
11string
strwareki
=engeras[era -1
] +dt.tostring(
"yy/mm/dd
", ci);
1213
messagebox.show(strwareki);
//output: h18/09/26
西曆轉和曆函式
對日開發中可能會經常遇到日期格式的轉換,最頭疼的就是系統時間轉日本和歷的問題。多數的時候大家都是自己寫函式來計算日本各時期皇帝的在位時間來進行轉換的,其實.net中已經內建日本這一特殊的日曆計算演算法。運用globalization下的calendar和calendar 類我們就很容易的進行這種西曆...
轉 COALESCE 函式 和CASE語句
轉 coalesce 函式 和case語句 sqldb2 suncoalesce 函式 功能 返回列表中的第乙個非空表示式。語法 coalesce expression,expression 引數 expression 任意表示式。標準和相容性 sql 92 sql 92。sql 99 核心特性。示...
轉 COALESCE 函式 和CASE語句
color brown coalesce 函式 功能 返回列表中的第乙個非空表示式。語法coalesce expression,expression 引數expression 任意表示式。標準和相容性 sql 92 sql 92。sql 99 核心特性。示例下面的語句返回值 34。select co...