應 用 時 機
在日常生活中,常看到文字的格式為日期、時間、貨幣或是特定格式輸出等等,在Java中可以使用formatter來自訂字串的格式。我們可以分為這五種轉換形態
1. 常規 : 一般文字格式
2. 字元 : 顯示字元的型態,char、byte、short
3. 日期/時間 : 用來輸出date、time、calendar等等
4. 百分比: 輸出百分比型態,以百分比表示”%”
5. 換行符號: 換行符號(\n)
6. 數字: 用來可以輸出數字
1.常 規 格 式 化
格式符號 | 說明 |
---|---|
- | 最小寬度內左對齊,不可0使用 |
# | 用在8進位與16進位的表式 |
+ | |
空白 | 正號加空格,負號加- |
0 | 不足填零補足 |
, | 每三位數字,加上, |
( | 參數為負,以括號把數字刮起來 |
以下實例可以指定輸出的對象,這種特殊格式以%index$來做指定,下列範例是將a和b對調顯示
public static void main(String[] args) { |
格式符號 | 說明 |
---|---|
b 或 B | 如果是null,為false; 如果是boolean型態,則輸出String |
h 或 H | 輸出為16進位 |
s或 S | 輸出為字串 |
c 或 C | 輸出為Unicode字元 |
d | 輸出為數字 |
o | 輸出為八進制 |
x 或 X | 輸出為16進制 |
e 或 E | 輸出為科學符號表示 |
f | 輸出為浮點數 |
g 或 G | 設定精準度去顯示數字的表示 |
a 或 A | 輸出以十進位或是科學符號表示 |
t 或 T | 日期或時間輸出表示 |
程 式 案 例
public static void main(String[] args) { |
3.日期與時間格式化
在JAVA中比較常用的來顯示日期與時間格式為java.text.DateFormat 和 java.text.SimpleDateFormat 兩種:
(1). DateFormate:不需要用建立實例,利用getDateInstance()函式來建立日期格式物件,它根據Locale不同語系和區域來顯示當地的日期與時間。
(2). SimpleDateFormate : 常用於解析和格式化日期時間字串,它也有支援Locale的設定。
時間 | 說明 |
---|---|
H | 以24小時格式呈現,00~23 |
I | 以12小時格式呈現,00-12 |
k | 以24小時呈現,0-23 |
l | 12小時格式,0-12 |
M | 顯示分鐘,00~59 |
S | 顯示秒,00~60 |
p | 依照locale設定顯示上午或是下午 |
z | GMT標準也可以稱為格林威治標準時間,台灣+8小時 |
Z | 配合Formatter使用,顯示GMT |
R | 以24小時格式顯示,格式為"%tH:%tM" |
T | 以24小時格式顯示,格式為"%tH:%tM:%tS" |
日期 | 說明 |
---|---|
B | 月份全稱,Fanuary,May |
b | 月份簡稱,Fan,May |
A | 星期全稱,Sunday, Mondday |
Y | 以四位數顯示年份,例如: YYYY |
y | 以兩位數顯示年份,例如: yy |
m | 以兩位數顯示月份 |
d | 顯示一個月中第幾天,01-31 |
e | 兩位數 |
D | 日期,格式化: %tm/%td/%ty |
c | 日期與時間,格式化:%ta %tb %td %tT %tZ %tY |
F | ISO 8601 日期格式,格式化: "%tY-%tm-%td"。 |
d | 顯示日,00-31 |
程 式 案 例
範例一、顯示今天日期西元年-月-日 小時:分:秒,使用格式
public static void main(String[] args) { |
範例二、顯示今天的日期,英國區域的英文語系,
public static void main(String[] args) { System.out.println(cyDate+" "+cyTime); //SimpleDateFormate String cyDateTime = cySimpleDateFormate.format(new Date()) ; |
範例三、解析日期或是時間,假設某公司的人資員工生日為20141101,但是在網頁上希望可以加上/符號,方便人員瀏覽
public static void main(String[] args) { try { } |
4.百 分 比
如果在畫面上我們希望可以輸出百分比符號,要如何達到,我們可以知道「%」已經是一個特殊符號,需要利用轉義字符去完成,但是在format的轉義字元並不是「\」,而是「%」來完成
public static void main(String[] args) { |
5.換 行 符 號
public static void main(String[] args) { |
6. 數字/貨幣
Java語言在現今已經支援各式各樣的商業應用,在企業中報表金額部分,可以顯示多國的幣值符號與各種數字。我們可以利用NmberFormat物件來完成
public static void main(String[] args) { BigDecimal b1 = new BigDecimal("10.50") ; |
字 串 格 式 化
字串本身的物件中,也有提供靜態格式化的方法
public static void main(String[] args) { |
留言
張貼留言